Skip to main content
Glama
moonie0201

ats-jobs-mcp

by moonie0201

ats-jobs-mcp

An MCP server that answers "what is this company hiring for, right now" by reading the company's own applicant-tracking system board API at call time — Greenhouse, Lever, Ashby, Recruitee, Rippling or Personio. Not an index that was crawled last night.

No HTML scraping, no headless browser, no proxies. Every request goes to an endpoint the vendor publishes for exactly this purpose.

Install

Requires uv and a free Apify token. Runs are billed to your Apify account — see Pricing.

{
  "mcpServers": {
    "ats-jobs": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/moonie0201/ats-jobs-mcp", "ats-jobs-mcp"],
      "env": { "APIFY_TOKEN": "apify_api_..." }
    }
  }
}

Client

Where that JSON goes

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) · %APPDATA%\Claude\claude_desktop_config.json (Windows)

Cursor

~/.cursor/mcp.json, or .cursor/mcp.json in a project

Claude Code

claude mcp add ats-jobs --env APIFY_TOKEN=apify_api_... -- uvx --from git+https://github.com/moonie0201/ats-jobs-mcp ats-jobs-mcp

Related MCP server: recruiting-jobs-mcp

Tools

Tool

What it does

Cost

search_jobs(companies, title_contains?, remote_only?, max_jobs?)

Live job rows for the given companies. companies are provider:slug pairs (lever:palantir) or career-site URLs. Returns title, company, location, remote flag, structured salary, employment type, url, postedAt.

paid, see below

resolve_company(url_or_name)

Maps a company name or career-site URL to the provider:slug pair search_jobs wants.

free

list_supported_ats()

The six providers and the slug form each expects.

free

Filters are applied before billing, so a narrow query is cheap rather than a big response you post-filter. max_jobs is a hard spend cap.

Pricing

search_jobs starts a run of the paid Apify Actor acotr_moonie/ats-jobs-scraper at $0.002 per delivered job row, billed by Apify to the account behind your own APIFY_TOKEN. This server is a thin client: it never proxies your calls, never sees your token or your results, and no run is ever paid for on your behalf. The default max_jobs=50 caps a single call at about $0.10.

resolve_company and list_supported_ats cost nothing and start no run.

What it will not do

  • Salary is parsed, never inferred. Each salary carries a source field saying whether the number came from a structured provider field or a regex over prose.

  • No contact fields are emitted, and contact details in ad bodies are redacted by default.

  • Where a value cannot be determined the field is null. Nothing is guessed.

  • resolve_company searches a partial directory — 1,804 rows, 1,444 of them verified live at last probe. A name that does not resolve is not proof the company has no board; pass the career-site URL instead.

How it works

resolve_company reads the CC-BY ats-directory over jsDelivr and caches it under ~/.cache/ats-jobs-mcp/ for 24 hours. search_jobs calls the Apify Actor's run-sync-get-dataset-items endpoint with your token.

Development

uv venv && uv pip install -e ".[dev]"
python -m pytest tests -q       # offline: builds the server, lists tools
python -m ats_jobs_mcp --list-tools

Disclosure

I built this, and the Actor behind search_jobs is paid. The adapter code and the company directory are open and free to use without it.

MIT licensed.

A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to fetch and structure job postings from major ATS platforms (Greenhouse, Lever, Ashby, etc.) directly, eliminating copy-paste and context loss.
    30
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables users to discover applicant tracking system job boards from company domains, list open roles, detect hiring changes over time, and generate hiring summaries across multiple ATS platforms.
    MIT

View all related MCP servers

Related MCP Connectors

  • Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.

  • Live job postings from 30+ ATS feeds and job boards, one schema. Live results need a Bearer key.

  • Search a live index of millions of open jobs from employer career sites and 100+ ATS platforms.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/moonie0201/ats-jobs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server