关于 ATS Jobs
ATS Jobs 是用于查询 Greenhouse、Lever 和 Ashby 公共招聘板上职位的 Node.js 工具,适合求职者、招聘人员及跟踪公司招聘的团队。它统一不同平台的职位数据,也可搜索超过 16,000 家公司的职位目录;此功能需要 Apify 令牌。
主要功能
- 01查询 Greenhouse、Lever 和 Ashby 职位
- 02统一不同招聘板的职位数据
- 03检测公司的 ATS
- 04按关键词、地点和远程状态筛选
- 05通过 Apify 搜索 16,000 多家公司
适用场景
- 01查看目标公司的职位
- 02比较多家公司的职位空缺
- 03按关键词和地点查找远程职位
- 04使用定时 Apify 搜索跟踪招聘
MCP 相关
MCP 服务通过 stdio 提供列出公司职位、检测其 ATS 以及跨公司搜索的工具。跨公司搜索需要 `APIFY_TOKEN`;查询单家公司无需 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ats-jobs-mcp
通过命令行或任意 MCP 客户端(Claude Desktop、Claude Code、Cursor 等)查询公司的 Greenhouse、Lever 或 Ashby 招聘板上的开放职位。
- 零依赖。 纯 Node.js 18+,无需构建步骤,也无需 API 密钥。
- 仅使用官方公共 API。 调用的正是各公司自有招聘页面使用的公共招聘板端点。不抓取 HTML、不使用无头浏览器,也不使用代理。
- 三种 ATS 采用统一的数据结构:
title, company, location, remote, workplaceType, department, team, employmentType, salary, url, postedAt, ats, id。 - 自动检测 slug。 输入
ramp、ashby:ramp或https://jobs.ashbyhq.com/ramp均可;如果不指定 ATS,工具会检查全部三种。
适用于:“这 10 家公司中哪些在招聘高级后端工程师?”,关注目标客户的招聘动态,将公司的职位信息导入电子表格,或让助手基于实时数据回答求职问题,而非猜测。
新功能:一次搜索 16,000+ 家公司
没有公司列表?search_jobs_all_companies 工具会在内置目录中搜索 16,000+ 家公司的公开招聘板(Greenhouse、Lever、Ashby、BambooHR、Personio、Rippling、SmartRecruiters、Teamtailor、Breezy、Recruitee、Workable;约 49 万个开放职位),支持按关键词、地点、远程办公和发布日期筛选:“柏林或远程的数据工程师职位,本周发布”。该工具运行托管在 Apify 上的 ATS Jobs Feed actor,因此需要 APIFY_TOKEN(Apify 免费账户即可),Apify 按返回的职位数量计费,约为 每 1,000 个职位 1 美元(max_results 默认值为 100,费用约为 0.10 美元)。两个单公司工具仍然免费且无需密钥。
MCP Registry 名称:mcp-name: io.github.benkrasin/ats-jobs-mcp
在 MCP 客户端中使用
该服务通过 stdio 使用 MCP。它需要 Node.js 18+ 和网络访问权限;npx 会直接从此 GitHub 仓库获取它。始终使用 github:benkrasin/ats-jobs-mcp。 不带作用域的 npm 名称 ats-jobs-mcp 是另一位作者发布的无关软件包。
Claude Desktop
添加到 claude_desktop_config.json(Settings -> Developer -> Edit Config),然后重启 Claude Desktop:
{
"mcpServers": {
"ats-jobs": {
"command": "npx",
"args": ["-y", "github:benkrasin/ats-jobs-mcp", "mcp"],
"env": { "APIFY_TOKEN": "optional, only for search_jobs_all_companies" }
}
}
}
或者从最新版本下载 ats-jobs-mcp.mcpb,双击即可在 Claude Desktop 中安装。
Claude Code
claude mcp add ats-jobs -- npx -y github:benkrasin/ats-jobs-mcp mcp
Cursor
将相同的配置块添加到 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(每个项目):
{
"mcpServers": {
"ats-jobs": {
"command": "npx",
"args": ["-y", "github:benkrasin/ats-jobs-mcp", "mcp"]
}
}
}
任何能够启动 stdio 服务的其他 MCP 客户端也都可以采用相同方式使用。
工具
| 工具 | 参数 | 返回内容 |
|---|---|---|
list_company_jobs | slug(必填;slug 或招聘板 URL)、ats(greenhouse/lever/ashby)、query、remote(布尔值)、location、posted_within_days、include_descriptions、limit(默认值为 100) | 招聘板信息、总数和匹配数量,以及标准化职位(最新发布的排在前面) |
detect_ats | slug | 该 slug 对应的招聘板使用三种 ATS 中的哪一种,以及每种 ATS 上有多少个开放职位 |
search_jobs_all_companies | keywords(必填,数组)、locations、remote_only、posted_within_days(默认值为 14)、min_salary_yearly、only_with_salary、max_results(默认值为 100) | 16,000+ 家公司的匹配职位。需要 APIFY_TOKEN;由 Apify 计费(每 1,000 个职位约 1 美元);耗时约一分钟 |
query 会匹配职位名称、部门、团队和地点。空格表示 AND,逗号表示 OR:"backend engineer, sre"。
提示词示例:“Ramp 在招聘远程工程师吗?按团队分组。” / “Notion 使用哪种 ATS?有哪些销售职位空缺?” / “比较 airbnb、palantir 和 ramp 的开放数据职位。”
在命令行中使用
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>
实际输出(2026 年 10 月):
$ npx github:benkrasin/ats-jobs-mcp jobs ramp --ats ashby --q engineer --limit 5
title location remote type department postedAt url
Design 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 notion
greenhouse not found
lever not found
ashby found 130 jobs https://jobs.ashbyhq.com/notion
$ npx github:benkrasin/ats-jobs-mcp jobs palantir --q "software engineer" --location london --csv --limit 2
title,company,location,remote,workplaceType,department,team,employmentType,salary,url,postedAt,ats,id
Software 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-...
(上文中的 UUID 已缩短。)表格摘要行会输出到 stderr,因此可以顺利地通过管道传递 --json 和 --csv 的输出。未找到招聘板时,退出代码为 2。
作为库使用
import { fetchCompanyJobs, filterJobs } from 'ats-jobs-mcp';
const { ats, jobs } = await fetchCompanyJobs('ramp');
console.log(ats, filterJobs(jobs, { query: 'engineer', remote: true }).length);
数据源
| ATS | Endpoint |
|---|---|
| Greenhouse | https://boards-api.greenhouse.io/v1/boards/{slug}/jobs(部门名称使用 /departments) |
| Lever | https://api.lever.co/v0/postings/{slug}?mode=json |
| Ashby | https://api.ashbyhq.com/posting-api/job-board/{slug}?includeCompensation=true |
这些是供应商为发布职位列表而公开记录的无需身份验证的招聘信息 API。请求会直接从你的机器发送到这些端点,不会经过其他任何服务。
限制
- 你需要知道招聘看板的 slug。 通常是公司名称,但不一定(请查看招聘页面 URL:
jobs.ashbyhq.com/<slug>、jobs.lever.co/<slug>、boards.greenhouse.io/<slug>)。使用其他 ATS 的公司(Workday、SmartRecruiters、iCIMS、自定义页面等)不受支持。 - “远程”结果尽力而为。 Lever 和 Ashby 会提供工作场所类型;Greenhouse 不会,因此会根据地点文本推断是否远程。如果 Ashby 某个职位的任意地点为远程,该职位就会被标记为远程(例如,纽约市混合办公的职位也开放“美国远程”);
workplaceType显示主要的工作安排。 - 字段因 ATS 而异。 Greenhouse 的此 API 不提供团队、雇佣类型或薪资信息;只有公司发布薪资时才会显示(主要是 Ashby,Lever 有时也会显示)。
postedAt是 ATS 报告的首次发布或创建日期,公司有时会在重新发布职位时重置该日期。 - 尚未查询 Lever 欧盟看板(
api.eu.lever.co)。 - 没有缓存或速率限制。 此工具适用于交互式查询少数几家公司,而非爬取数千家公司。请合理使用公共 API。
- 如果多个 ATS 上存在相同的 slug(例如,一个旧的空看板),则使用开放职位最多的看板;传入
--ats/ats可强制指定 ATS。
在云端运行(无需安装)
同一款支持五种 ATS 的抓取工具已作为 Apify Actor 发布:Apify 上的 ATS Jobs Feed。它支持计划任务、“仅获取上次运行后新增的职位”模式(用于职位提醒),以及 Slack、电子邮件和 webhook 集成。Apify 按结果计费(约每 1,000 个职位 1 美元),适合不想自行托管的用户。此 CLI 保持免费。
公司使用 Workday(*.myworkdayjobs.com)?请使用免费的 CLI workday-jobs-scraper,或托管服务 Apify 上的 Workday Jobs Scraper。
开发
git clone https://github.com/benkrasin/ats-jobs-mcp && cd ats-jobs-mcp
npm test # live smoke test: three ATSs + an MCP stdio session (needs network)
node bin/cli.js jobs airbnb --limit 5
MCP 服务(src/mcp.js)是一个轻量、无依赖的 MCP stdio 传输实现(以换行符分隔的 JSON-RPC 2.0:initialize、ping、tools/list、tools/call)。它也已通过官方 @modelcontextprotocol/sdk 客户端的验证。
关于
本项目由 AI Agent(Anthropic 的 Claude)构建和维护,是一项 Agent 自主运行开源项目的实验的一部分,代表 @benkrasin 开展。欢迎提交 Issue 和 PR。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。