mcpField
M
Multi-ATS Jobs MCP Server

Multi-ATS Jobs MCP Server

Remote
github.comBusiness & Marketing0Updated 1d ago

About Multi-ATS Jobs MCP Server

Multi-ATS Jobs MCP Server provides live, normalized job listings from eight company ATS platforms and Hacker News hiring threads. It is for MCP clients that need to search public postings using a consistent schema, without API keys or an account.

Key features

  1. 01Search jobs across eight ATS platforms
  2. 02Normalize postings into a shared schema
  3. 03Resolve ATS from company slug or domain
  4. 04Search current Hacker News hiring thread

Use cases

  1. 01Find open roles at one or more companies
  2. 02Search Hacker News hiring posts by keyword
  3. 03Filter hiring results to remote roles
  4. 04Resolve a company’s ATS board before searching

MCP support

It exposes job-search tools to MCP clients over stdio, including ATS discovery, platform listing, normalized job search, and Hacker News hiring search.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://assetfactory-jobs-x402.sigrunner.workers.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Grey Ridge Jobs MCP

smoke MCP deps

A Model Context Protocol server that gives any MCP client — Claude Desktop, Cursor, Cline, Continue, or your own agent — a live, normalized feed of open job postings pulled straight from company applicant-tracking systems.

One tool call, eight ATS platforms, one clean schema:

Greenhouse · Lever · Ashby · SmartRecruiters · Workday · Recruitee · Workable · BambooHR

Give it a bare company name (stripe), a domain (stripe.com), or an explicit board (greenhouse:stripe, workday:nvidia.wd5:NVIDIAExternalCareerSite) — the server detects the ATS and board token for you and returns postings with stable field names across every platform.

  • Zero dependencies. No MCP SDK, no transitive package tree — the server is one file plus a vendored adapter core. It installs and boots instantly under npx, and drags nothing into your agent's trust boundary. (For an agent tool, the supply chain is the attack surface.)
  • Zero keys, zero account. Every source is a public ATS JSON endpoint.
  • Normalized schema. title · company · location · remote · employment_type · department · posted_at (ISO) · salary · url · source_platform — same shape whoever the employer uses.
  • Auto-detect. Pass a slug or domain; the ATS and token are resolved for you.
  • Plus Hacker News "Who is hiring?" The search_hn_hiring tool reads the current month's thread into the same schema, and finds next month's thread by itself when it is posted.

Install

Requires Node.js ≥ 18.

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "jobs": {
      "command": "npx",
      "args": ["-y", "github:rezearcher/jobs-mcp-server"]
    }
  }
}
Cursor / Cline / Continue

Point the client at the same command (npx -y github:rezearcher/jobs-mcp-server) as a stdio server. In Cursor: Settings → MCP → Add new server → type command.

From source
git clone https://github.com/rezearcher/jobs-mcp-server
cd jobs-mcp-server
node server.mjs          # speaks MCP over stdio
npm test                 # real client handshake + live-data roundtrip

Tools

ToolWhat it does
search_jobsLive normalized postings for one or more companies. Args: companies (string[]), maxPerCompany (default 25, max 200), includeDescription (default false).
detect_atsResolve a company slug/domain to {platform, token} without pulling the full list.
list_platformsThe 8 supported platforms and how to address each. No network call.
search_hn_hiringLive postings from the current month's Hacker News "Ask HN: Who is hiring?" thread, parsed into the same schema. Args: query (keyword filter), remoteOnly (default false), maxResults (default 50, max 200), includeDescription. The monthly thread id is auto-discovered — it rotates on the 1st of every month, so you never re-point it.
Example

Ask your assistant: "Use the jobs tool to list open engineering roles at Stripe and Palantir." The model calls:

{ "name": "search_jobs",
  "arguments": { "companies": ["greenhouse:stripe", "lever:palantir"], "maxPerCompany": 25 } }

and gets back a jobs[] array plus a resolutions[] log showing how each company was resolved.

Or, to sweep the whole Hacker News hiring thread: "Find remote Rust roles in this month's HN who-is-hiring thread." →

{ "name": "search_hn_hiring",
  "arguments": { "query": "rust", "remoteOnly": true } }

Addressing a company

FormExampleNotes
bare slugstripeauto-detected across platforms
domainstripe.comauto-detected
explicitgreenhouse:stripe, lever:palantir, ashby:openaiskips detection
Workdayworkday:nvidia.wd5:NVIDIAExternalCareerSite or a *.myworkdayjobs.com URLexplicit only

Why a maintained server (and not a one-off script)

ATS JSON shapes drift and companies migrate between vendors. This server is the public face of a continuously maintained adapter layer: each platform is isolated so a shape change touches one adapter, and a scheduled canary (.github/workflows/smoke.yml) exercises a live board on every push and daily, failing loudly the moment an adapter stops returning rows. That upkeep is the point — it is why the feed keeps working after the day you install it.

License

MIT © Grey Ridge Signals Group LLC. Job content belongs to the respective employers and their ATS providers; this tool only retrieves and normalizes publicly listed postings. Respect each source's terms and rate limits.

Related tools (same maintained engine)

Prefer a plain CLI, or a company-level signal instead of an MCP tool?

  • ats-jobs-scraper-cli — the same 8-ATS feed as a zero-dependency command-line tool.
  • unified-jobs-scraper-cli — adds LinkedIn public postings and cross-source dedup.
  • company-enrichment-cli — domain → one clean company record (firmographics, contacts, tech stack) with a rolled-up hiring-intensity signal from the same ATS engine; sales/prospecting buying-intent rather than a raw job feed.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.