{"server":{"name":"io.github.IsaiahDupree/jobstack-mcp","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://jobstack-mcp.vercel.app/mcp","type":"streamable-http"}],"version":"1.0.0","repository":{"url":"https://github.com/IsaiahDupree/jobstack-mcp","source":"github"},"websiteUrl":"https://jobstack-mcp.vercel.app","description":"Unified jobs search over official feeds + ATS boards (USAJOBS, Adzuna, Muse, Greenhouse, Lever...)"},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-08-01T03:20:06.561672Z","publishedAt":"2026-08-01T03:20:06.561672Z","statusChangedAt":"2026-08-01T03:20:06.561672Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://jobstack-mcp.vercel.app/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":235,"consecutive_failures":0,"last_probe_at":"2026-10-19T12:08:59.925Z","last_ok_at":"2026-10-19T12:08:59.925Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"get_job","title":"Get a single job by source + id","description":"Fetch one job posting by its source engine and native id, returned as { meta, job } with the same flat Job shape search_jobs yields. The id is the native upstream id as returned by that source in search results (NOT prefixed with the source name). Exception: for source=\"ats\" the id is a composite \"board:company:nativeId\" string (e.g. \"greenhouse:airbnb:7995153\") so the lookup can round-trip to the right ATS board. Not every source supports single-job lookup — a search-only source returns a not_supported / not_found error.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T12:08:59.925Z"},{"name":"search_jobs","title":"Search jobs (unified feed)","description":"Search job postings across every configured source and merge the results into one flat Job shape. Fans out in parallel to USAJOBS, Adzuna, Jooble, The Muse, Reed, and the ats engine (Greenhouse/Lever/Ashby/Workable/SmartRecruiters), then merges + sorts by postedDate (newest first) and paginates the combined set. Each Job has id, source, title, company, location, remote, url, description, postedDate, salaryMin, salaryMax, salaryCurrency, department, and employmentType. The response envelope carries meta, the echoed query, sources_requested, an optional sources_errored map, total, count, limit, offset, and results. Use sources= to restrict to specific engines.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T12:08:59.925Z"}],"dev.protogrid/trust":{"score":94,"components":{"hygiene":100,"liveness":100,"freshness":85,"provenance":90},"drivers":["+repository","+namespace-matches-repo","+website","+reachable","+uptime-100%","~updated-79d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T13:13:11.978Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":91,"label":"strong","components":{"auth":null,"hygiene":100,"protocol":75,"stability":100,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"2 of 2 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 712 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"no tool changes in 30 days","status":"pass","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["~protocol.modern"],"flags":[],"tool_count":2,"token_estimate":712,"tools_hash":"61fb9d57c3c9ced3b5002fcd9a969199","tools_changed_at":null,"computed_at":"2026-10-19T13:05:09.887Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.IsaiahDupree/jobstack-mcp","aliases":[],"alias_count":0,"repository_key":"github:isaiahdupree/jobstack-mcp","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.IsaiahDupree%2Fjobstack-mcp/tools","arguments":{"name":"io.github.IsaiahDupree/jobstack-mcp"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.IsaiahDupree%2Fjobstack-mcp/connection?target=mcpServers","arguments":{"name":"io.github.IsaiahDupree/jobstack-mcp","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}