ATS Jobs について
ATS Jobsは、Greenhouse、Lever、Ashbyの公開求人ボードから求人を探すNode.jsツールで、求職者や採用担当者、企業の採用状況を追うチーム向けです。3サービスの求人情報を統一形式にまとめ、16,000社以上のディレクトリ横断検索も提供しますが、この検索にはApifyトークンが必要です。
主な機能
- 01Greenhouse、Lever、Ashbyの求人取得
- 02求人情報の共通形式化
- 03企業のATS検出
- 04キーワード、勤務地、リモート条件での絞り込み
- 05Apify経由で16,000社以上を検索
活用シーン
- 01対象企業の求人確認
- 02複数企業の募集状況の比較
- 03キーワードと勤務地によるリモート求人検索
- 04Apifyの定期検索による採用状況の追跡
MCP 対応
MCPサーバーはstdioで動作し、企業の求人一覧、ATS検出、複数企業の横断検索のツールを提供します。横断検索には`APIFY_TOKEN`が必要ですが、単一企業の検索にはAPIキーは不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ats-jobs-mcp
コマンドラインまたは任意の MCP クライアント(Claude Desktop、Claude Code、Cursor など)から、企業のGreenhouse、Lever、Ashbyの求人ボードに掲載されている募集中の求人を検索します。
- 依存関係はゼロです。 ビルド手順は不要で、API キーも必要ありません。Node.js 18 以降で動作します。
- 公式の公開 API のみを使用します。 各企業の採用ページと同じ公開求人ボードエンドポイントを呼び出します。HTML のスクレイピング、ヘッドレスブラウザー、プロキシは使用しません。
- 3 つの ATS に共通する正規化された形式です。
title, company, location, remote, workplaceType, department, team, employmentType, salary, url, postedAt, ats, id - スラッグを自動検出します。
ramp、ashby:ramp、https://jobs.ashbyhq.com/rampのいずれかを指定できます。ATS を指定しない場合は、3 つすべてを確認します。
活用例:「この 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 ドル)。2 つの単一企業向けツールは、引き続き無料でキーも不要です。
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(必須。スラッグまたは求人ボードの URL)、ats(greenhouse/lever/ashby)、query、remote(bool)、location、posted_within_days、include_descriptions、limit(デフォルト 100) | 求人ボードの情報、件数と検索条件に一致する件数、正規化された求人(新しい順) |
detect_ats | slug | 指定したスラッグに求人ボードがある 3 つの 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 ドル)。処理には約 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 | エンドポイント |
|---|---|
| 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 です。リクエストはお使いのマシンから各エンドポイントへ直接送信され、ほかのサーバーを経由することはありません。
制限事項
- ボードのスラッグが必要です。 通常は会社名ですが、そうでない場合もあります(採用ページの URL を確認してください:
jobs.ashbyhq.com/<slug>、jobs.lever.co/<slug>、boards.greenhouse.io/<slug>)。ほかの ATS(Workday、SmartRecruiters、iCIMS、カスタムページなど)を利用している企業には対応していません。 - 「remote」の判定は可能な限りの対応です。 Lever と Ashby では勤務形態が公開されていますが、Greenhouse では公開されていないため、勤務地のテキストからリモートかどうかを推定します。Ashby では、勤務地のいずれかがリモートの場合、その求人はリモートとして扱われます(例:ハイブリッド勤務の NYC の求人で、「Remote (US)」も選択できる場合)。
workplaceTypeには主な勤務形態が表示されます。 - 項目は ATS によって異なります。 Greenhouse のこの API には、チーム、雇用形態、給与の情報がありません。給与は、企業が公開している場合にのみ表示されます(多くは Ashby、一部は Lever)。
postedAtは ATS が報告する初回公開日または作成日ですが、企業が求人を再掲載する際にリセットすることがあります。 - Lever の EU ボード(
api.eu.lever.co)にはまだ問い合わせません。 - キャッシュやレート制限はありません。 これは数社を対話的に検索する用途を想定しており、数千社をクロールする用途ではありません。公開 API は節度を持って利用してください。
- 同じスラッグが複数の ATS に存在する場合(例:古くて求人がないボード)、募集中の求人が最も多いボードが選ばれます。
--ats/atsを指定すると、ATS を強制できます。
クラウドで実行する(インストール不要)
同じ 5 つの ATS に対応するフェッチャーが Apify アクターとして公開されています:ATS Jobs Feed on Apify。スケジュール設定、「前回の実行以降に追加された新しい求人のみ」を取得する求人アラートモード、Slack/メール/Webhook 連携が追加されています。Apify は結果ごとの従量課金(求人 1,000 件あたり約 1 ドル)のため、ホスティングを希望しない方向けです。この CLI は無料のままです。
企業が Workday(*.myworkdayjobs.com)を利用していますか? 無料 CLI の workday-jobs-scraper、またはホスト型の Workday Jobs Scraper on Apify をご利用ください。
開発
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 クライアントとの動作確認も済んでいます。
概要
@benkrasin に代わり、エージェントによるオープンソースプロジェクト運営の実験の一環として、Anthropic の Claude という AI エージェントが構築・保守しています。Issue や PR を歓迎します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。