JobYap Job Search
by jobyap.com · remote · local (npm) · no sign-in to list tools · v1.1.0 · published by com.jobyap
Search job postings aggregated from companies' careers sites, plus each job's discussion thread.
9 tools: 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads9Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http jobs https://mcp.jobyap.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Only reads 9Claude Code: allow
fetchRetrieve the full JobYap document for a search result id: the complete posting as markdown (description, salary, locations, apply link) plus top community comments, with a citable …No findings
Why it is in this group
- The name "fetch" says "fetch": a word for reading.
Description, as the server wrote it Retrieve the full JobYap document for a search result id: the complete posting as markdown (description, salary, locations, apply link) plus top community comments, with a citable URL.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_jobFetch one job posting in full: markdown description, salary ranges, locations with work mode, derived employment types, apply URL, posting dates and the canonical JobYap discussion…No findings
Why it is in this group
- The name "get_job" says "get": a word for reading.
Description, as the server wrote it Fetch one job posting in full: markdown description, salary ranges, locations with work mode, derived employment types, apply URL, posting dates and the canonical JobYap discussion URL. Works for expired jobs too (apply_url is null once inactive).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_job_commentsFetch the community discussion thread for a job: chronological, threaded via parent_id, with like counts.No findings
Why it is in this group
- The name "get_job_comments" says "get": a word for reading.
Description, as the server wrote it Fetch the community discussion thread for a job: chronological, threaded via parent_id, with like counts. Comments are user-generated content. Threads stay open after a job expires.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_job_statsAggregate stats: companies tracked, active job count, and the newest posting date.No findings
Why it is in this group
- The name "get_job_stats" says "get": a word for reading.
Description, as the server wrote it Aggregate stats: companies tracked, active job count, and the newest posting date.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
list_companiesList every company JobYap tracks with its active job count and JobYap company-page URL.No findings
Why it is in this group
- The name "list_companies" says "list": a word for reading.
Description, as the server wrote it List every company JobYap tracks with its active job count and JobYap company-page URL. Use the exact names as search_jobs company filters.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
match_jobsFind and rank the best live postings for one specific candidate, such as someone who shared a resume or described their experience, skills or visa needs.No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find and rank the best live postings for one specific candidate, such as someone who shared a resume or described their experience, skills or visa needs. Slow: it reads each posting's full description, so a call can take 10 to 15 seconds. For browsing, listing or counting postings, use search_jobs, which answers in under a second. Filters active jobs by title terms (any of them; a term matches when the title holds all its words), excluded title terms, companies, locations and posting window, then takes the newest 300 of that pool (pool_total says how many matched) and reads each full description. It drops postings with no usable description, postings whose stated minimum years of experience exceed candidate_years by more than 1, and, with needs_sponsorship, postings that refuse sponsorship or require citizenship or a clearance; dropped counts each reason. The rest are ranked by how many skills appear in the description, then newest first. Each result carries skills_matched, years_bar, flags and up to 6 requirement sentences. The screening is heuristic: read finalists in full with get_job.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
searchSearch JobYap job postings by natural-language query.No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Search JobYap job postings by natural-language query. Matches job titles, falling back to significant keywords when the full phrase finds little. Returns result ids, titles and citable URLs for use with fetch. For structured filtering (location, company, remote, freshness) prefer search_jobs.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
search_jobsSearch JobYap's aggregated job postings with structured filters.No findings
Why it is in this group
- The name "search_jobs" says "search": a word for reading.
Description, as the server wrote it Search JobYap's aggregated job postings with structured filters. Fast (under a second): use it to browse, list, count or page through postings and to answer general questions about who is hiring. To find the best postings for one specific person (a resume, or their experience, skills or visa needs), use match_jobs instead. The text query matches job titles only (case-insensitive substring) — try synonyms or shorter tokens when results are thin. Company names must exactly match values from list_companies; locations must be identifiers from search_locations. work_mode matches jobs explicitly marked remote or hybrid (unmarked means unstated, not onsite). Results are active listings, newest first by default; sort=popular ranks by discussion activity. To paginate, pass next_cursor back as cursor and keep every other argument identical.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
search_locationsResolve a free-text place name ("toronto", "Japan", "Texas") to the location identifiers search_jobs accepts (country-XX, state-XX-YY, city-XX-YY-name).No findings
Why it is in this group
- The name "search_locations" says "search": a word for reading.
Description, as the server wrote it Resolve a free-text place name ("toronto", "Japan", "Texas") to the location identifiers search_jobs accepts (country-XX, state-XX-YY, city-XX-YY-name). Searches every place JobYap knows, not only those with current openings, so an identifier may match no jobs. City display omits the state, and the list can be shorter than limit.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http jobs https://mcp.jobyap.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__jobs__search_jobs",
"mcp__jobs__match_jobs",
"mcp__jobs__get_job",
"mcp__jobs__get_job_comments",
"mcp__jobs__search_locations",
"mcp__jobs__list_companies",
"mcp__jobs__get_job_stats",
"mcp__jobs__search",
"mcp__jobs__fetch"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as jobs. Review it before you use it.