ATS Jobs

io.github.benkrasin由 GitHub 帳號 benkrasin 發布v0.2.2更新於 Oct 24, 2026

Open jobs from public Greenhouse, Lever and Ashby boards; keyword search across 14,000+ companies.

概覽

AI 產生的概覽

查詢 Greenhouse、Lever 與 Ashby 公開徵才看板上的職缺,並可依關鍵字搜尋大量公司的徵才看板目錄。

可以做什麼
依關鍵字、地點、遠端與刊登時間篩選,列出某公司在 Greenhouse、Lever 或 Ashby 徵才看板上的職缺,可選擇回傳職缺描述,並以統一欄位(職稱、公司、地點、薪資、連結等)呈現。偵測某個公司代稱由三家 ATS 中的哪一家託管,以及各看板有多少職缺。在內建的 16,000 多家公司徵才看板目錄中依關鍵字、地點、僅遠端、刊登時間與最低年薪搜尋。也可在命令列執行相同查詢,輸出 JSON 或 CSV。
適用情境
適合讓助理以即時資料而非猜測回答徵才問題:查看一組公司是否正在招募某個職位、追蹤目標公司的職缺、比較不同公司的職位,或把某公司的職缺匯出到試算表。
執行需求
以本機 stdio 程序執行,需要 Node.js 18+ 與網路存取;套件從其 GitHub 儲存庫取得,README 提醒單純的 npm 名稱屬於另一個無關的套件。兩個單一公司工具不需金鑰。全公司搜尋需要 APIFY_TOKEN 環境變數與免費的 Apify 帳號。
安裝前請注意
全公司搜尋會把查詢送到託管的 Apify actor,由 Apify 依每 1,000 個職缺約 1 美元計費,max_results 預設為 100,因此每次呼叫都可能產生費用。單一公司工具的要求會從本機直接送往公開徵才看板 API。沒有快取或速率限制,不建議大量使用。結果為盡力而為:遠端標記與薪資欄位因 ATS 而異。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ATS Jobs,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ats-jobs-mcp

Look up a company's open jobs from its Greenhouse, Lever or Ashby job board, from the command line or from any MCP client (Claude Desktop, Claude Code, Cursor, ...).

  • Zero dependencies. Plain Node.js 18+, no build step, no API keys.
  • Official public APIs only. It calls the same public job-board endpoints that the companies' own careers pages use. No HTML scraping, no headless browser, no proxies.
  • One normalized shape across all three ATSs: title, company, location, remote, workplaceType, department, team, employmentType, salary, url, postedAt, ats, id.
  • Slug auto-detect. Give it ramp, ashby:ramp or https://jobs.ashbyhq.com/ramp; if you don't say which ATS, it checks all three.

Useful for: "which of these 10 companies are hiring a staff backend engineer?", watching a target account's hiring, pulling a company's roles into a spreadsheet, or letting an assistant answer job questions with live data instead of guessing.

New: search 16,000+ companies at once

No company list? The search_jobs_all_companies tool searches a built-in directory of 16,000+ public company career boards (Greenhouse, Lever, Ashby, BambooHR, Personio, Rippling, SmartRecruiters, Teamtailor, Breezy, Recruitee, Workable; about 490k open jobs) by keyword, location, remote and posting date: "data engineer jobs in Berlin or remote, posted this week". It runs the hosted ATS Jobs Feed actor on Apify, so it needs an APIFY_TOKEN (a free Apify account works) and Apify bills about $1 per 1,000 jobs returned (max_results defaults to 100, about $0.10). The two single-company tools stay free and keyless.

MCP Registry name: mcp-name: io.github.benkrasin/ats-jobs-mcp

Use it with an MCP client

The server speaks MCP over stdio. It needs Node.js 18+ and network access; npx fetches it straight from this GitHub repo. Always use github:benkrasin/ats-jobs-mcp. The bare npm name ats-jobs-mcp is an unrelated package from another author.

Claude Desktop

Add to claude_desktop_config.json (Settings -> Developer -> Edit Config), then restart Claude Desktop:

json
{  "mcpServers": {    "ats-jobs": {      "command": "npx",      "args": ["-y", "github:benkrasin/ats-jobs-mcp", "mcp"],      "env": { "APIFY_TOKEN": "optional, only for search_jobs_all_companies" }    }  }}

Or download ats-jobs-mcp.mcpb from the latest release and double-click it to install in Claude Desktop.

Claude Code

sh
claude mcp add ats-jobs -- npx -y github:benkrasin/ats-jobs-mcp mcp

Cursor

Add the same block to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):

json
{  "mcpServers": {    "ats-jobs": {      "command": "npx",      "args": ["-y", "github:benkrasin/ats-jobs-mcp", "mcp"]    }  }}

Any other MCP client that can launch a stdio server works the same way.

Tools

ToolArgumentsReturns
list_company_jobsslug (required; slug or board URL), ats (greenhouse/lever/ashby), query, remote (bool), location, posted_within_days, include_descriptions, limit (default 100)Board info, total and matching counts, normalized jobs (newest first)
detect_atsslugWhich of the three ATSs has a board for that slug, and how many open jobs each has
search_jobs_all_companieskeywords (required, array), locations, remote_only, posted_within_days (default 14), min_salary_yearly, only_with_salary, max_results (default 100)Matching jobs across 16,000+ companies. Needs APIFY_TOKEN; billed by Apify (~$1 per 1,000 jobs); takes about a minute

query matches title, department, team and location. Spaces mean AND, commas mean OR: "backend engineer, sre".

Example prompts: "Is Ramp hiring remote engineers? Group them by team." / "Which ATS does Notion use, and what sales roles are open?" / "Compare open data roles at airbnb, palantir and ramp."

Use it from the command line

sh
npx github:benkrasin/ats-jobs-mcp jobs <company-slug|board-url> [--ats greenhouse|lever|ashby] [--q keyword] [--remote] [--location text] [--days n] [--limit n] [--json|--csv]npx github:benkrasin/ats-jobs-mcp detect <company-slug>

Real output (October 2026):

text
$ npx github:benkrasin/ats-jobs-mcp jobs ramp --ats ashby --q engineer --limit 5title                                         location                  remote  type     department            postedAt    urlDesign Systems Lead                           New York, NY (HQ)         yes     hybrid   Engineering           2026-09-30  https://jobs.ashbyhq.com/ramp/baa94095-...Tech Lead and Manager (TLM), Production Eng…  New York, NY (HQ)         yes     hybrid   Engineering           2026-09-28  https://jobs.ashbyhq.com/ramp/465799ed-...Software Engineering Intern, iOS              New York, NY (HQ)         yes     hybrid   Engineering           2026-09-24  https://jobs.ashbyhq.com/ramp/b66be397-...Software Engineering Intern, Android          New York, NY (HQ)                 onsite   Engineering           2026-09-24  https://jobs.ashbyhq.com/ramp/fcf118cc-...Software Engineer Internship, Frontend        New York, NY (HQ)         yes     hybrid   Engineering           2026-09-24  https://jobs.ashbyhq.com/ramp/a13ae586-...
43 matching of 162 open jobs - ashby:ramp (https://jobs.ashbyhq.com/ramp), showing 5
$ npx github:benkrasin/ats-jobs-mcp detect notiongreenhouse  not foundlever       not foundashby       found       130 jobs  https://jobs.ashbyhq.com/notion
$ npx github:benkrasin/ats-jobs-mcp jobs palantir --q "software engineer" --location london --csv --limit 2title,company,location,remote,workplaceType,department,team,employmentType,salary,url,postedAt,ats,idSoftware Engineer – Query Engines,palantir,"London, United Kingdom",false,hybrid,,Dev,Full-time,,https://jobs.lever.co/palantir/4056c8f6-...,2026-09-22T11:06:34.937Z,lever,4056c8f6-...Forward Deployed Software Engineer - NATO,palantir,"London, United Kingdom",false,onsite,,Delta,Full-time,,https://jobs.lever.co/palantir/73d1a90c-...,2026-07-23T12:53:46.989Z,lever,73d1a90c-...

(UUIDs shortened above.) The table summary line goes to stderr, so --json and --csv output can be piped cleanly. Exit code is 2 when no board is found.

As a library

js
import { fetchCompanyJobs, filterJobs } from 'ats-jobs-mcp';const { ats, jobs } = await fetchCompanyJobs('ramp');console.log(ats, filterJobs(jobs, { query: 'engineer', remote: true }).length);

Data sources

ATSEndpoint
Greenhousehttps://boards-api.greenhouse.io/v1/boards/{slug}/jobs (+ /departments for department names)
Leverhttps://api.lever.co/v0/postings/{slug}?mode=json
Ashbyhttps://api.ashbyhq.com/posting-api/job-board/{slug}?includeCompensation=true

These are the public, unauthenticated job-board APIs the vendors document for publishing job listings. Requests go directly from your machine to those endpoints; nothing passes through any other server.

Limitations

  • You need the board slug. It's usually the company name, but not always (check the careers URL: jobs.ashbyhq.com/<slug>, jobs.lever.co/<slug>, boards.greenhouse.io/<slug>). Companies on other ATSs (Workday, SmartRecruiters, iCIMS, custom pages, ...) are not supported.
  • "remote" is a best effort. Lever and Ashby expose a workplace type; Greenhouse doesn't, so remote there is inferred from the location text. Ashby marks a job remote when any of its locations is remote (e.g. a hybrid NYC role also open to "Remote (US)"); workplaceType shows the primary arrangement.
  • Fields vary by ATS. Greenhouse has no team, employment type or salary in this API; salary only appears when the company publishes it (mostly Ashby, sometimes Lever). postedAt is the first-published/created date reported by the ATS, which companies sometimes reset by reposting.
  • Lever EU boards (api.eu.lever.co) aren't queried yet.
  • No caching or rate limiting. It's meant for interactive lookups of a handful of companies, not crawling thousands. Be polite with the public APIs.
  • If the same slug exists on more than one ATS (e.g. an old, empty board), the board with the most open jobs wins; pass --ats / ats to force one.

Run it in the cloud (no install)

The same five-ATS fetcher is published as an Apify actor: ATS Jobs Feed on Apify. It adds scheduling, a "only new jobs since last run" mode for job alerts, and Slack/email/webhook integrations. Apify bills pay-per-result (about $1 per 1,000 jobs), so it's for people who don't want to host anything. This CLI stays free.

Company on Workday (*.myworkdayjobs.com)? Use workday-jobs-scraper (free CLI) or the hosted Workday Jobs Scraper on Apify.

Development

sh
git clone https://github.com/benkrasin/ats-jobs-mcp && cd ats-jobs-mcpnpm test          # live smoke test: three ATSs + an MCP stdio session (needs network)node bin/cli.js jobs airbnb --limit 5

The MCP server (src/mcp.js) is a small, dependency-free implementation of the MCP stdio transport (newline-delimited JSON-RPC 2.0: initialize, ping, tools/list, tools/call). It has also been checked against the official @modelcontextprotocol/sdk client.

About

Built and maintained by an AI agent (Claude, by Anthropic) as part of an experiment in agent-run open-source projects, on behalf of @benkrasin. Issues and PRs are welcome.

License

MIT

來源:README.md,提交 1c364f0

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

1
  1. v0.2.2最新Oct 24, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分