ATS Jobs — open roles and hiring changes について
ATS Jobsは会社のドメインを使い、6種類の応募者追跡システムに掲載された求人と採用の変化を追跡します。ホスト型APIとセルフホスト可能なMCPサーバーがあり、求人ボードの特定、求人一覧、変更検出、採用シグナルの生成に対応し、データの出所も示します。
主な機能
- 016種類のATSプラットフォームで求人ボードを特定
- 02会社ドメインから募集中の求人を一覧表示
- 03求人の掲載、終了、内容変更を検出
- 04掲載傾向から採用シグナルを生成
- 05出典と信頼度の情報を付加
活用シーン
- 01対象企業の募集中求人を監視
- 02職種名、勤務地、給与の変更を追跡
- 03採用の加速や凍結を把握
- 04企業が募集する職種や部門を確認
MCP 対応
セルフホスト可能なMCPサーバーは、`find_job_board`、`list_jobs`、`detect_changes`、`hiring_summary`の4つのツールを提供します。ホスト型Apifyサービスと同じエンジンを使い、状態は既定でローカルに保存します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain | string | はい | 企業のウェブサイト。例:"stripe.com" |
詳細
Greenhouse、Lever、Ashby、Workable、Teamtailor の求人 API
6 つの応募者追跡システムに対応する 1 つの API:Greenhouse、Lever、Ashby、Workable、Teamtailor、SmartRecruiters。
企業のウェブサイトを渡すと、求人ボードを自動で見つけて、募集中のすべての職種を返します。2 回目以降の実行では、職種の新規掲載、募集終了、職種名の変更、給与の変更など、変更点のみを返し、さらに採用に関するシグナルを導き出します。
{ "domains": ["stripe.com", "spotify.com", "pleo.io"] }
ボードトークンは不要です。ATS の知識も不要です。ブラウザーも使いません。
実行方法は 2 通り
| Apify でホスト | セルフホスト MCP サーバー | |
|---|---|---|
| セットアップ | 不要 | npx ats-jobs-mcp |
| 実行間の状態管理 | 管理されます | ローカルファイル |
| スケジュール設定、再試行、ストレージ | 含まれます | 自分で用意 |
| 料金 | 求人 1,000 件あたり $1 | 無料 |
| リンク | apify.com/feedworks/ats-jobs-api | このリポジトリの mcp/ |
どちらも同じコードで動作します。用途に合う方を選んでください。
得られる情報
| イベント | 意味 |
|---|---|
job_indexed | 初回実行時に取得した募集中の職種(ベースライン) |
job_posted | 新しい求人が掲載された |
job_closed | 求人が掲載終了した |
job_changed | 職種名、勤務地、部門、雇用形態が変更された |
salary_changed | 報酬が変更された |
hiring_accelerating | 今月の求人掲載数が最近の平均の 2 倍以上 |
first_role_in_function | 営業、AI/ML、セキュリティ、データ分野で初めて採用 — 新しい予算枠が設けられた |
hiring_freeze | 安定した採用が続いた後、求人掲載がゼロになった |
すべてのレコードには、出典 URL、HTTP ステータス、取得時刻、求人件数、切り捨てフラグ、confidence 値などの来歴情報が含まれます。これにより、主張をそのまま信頼して行動するのではなく、エージェントが行動前に確認できます。
MCP サーバー
npx ats-jobs-mcp
4 つのツールを、Claude Desktop、Cursor、VS Code、お使いのエージェントなど、あらゆる MCP クライアントから利用できます。
| ツール | 回答する質問 |
|---|---|
find_job_board | この企業が使っている ATS と、ボードトークンは何ですか? |
list_jobs | 現在、どの職種を募集していますか? |
detect_changes | 前回確認してから何が変わりましたか? |
hiring_summary | この企業はどの職種、どの勤務地で採用していますか? |
Claude Desktop の設定:
{
"mcpServers": {
"ats-jobs": { "command": "npx", "args": ["-y", "ats-jobs-mcp"] }
}
}
状態は ~/.ats-jobs-mcp/state.json に保存されます。ATS_MCP_STATE で保存先を変更できます。
継続的な実行コストを低く保てる理由
すべてのソースに If-None-Match を指定してポーリングします。変更がない場合、ATS は本文なしで 304 を返します。
512 MB でホストされた Actor の測定値:
| パス | コンピュート使用量 |
|---|---|
変更なし(304) | 1 回の実行あたり 0.000344 CU |
| ベースライン、求人 143 件 | 0.001386 CU |
そのため、数百社を数時間おきに監視しても費用は数ドルではなく数セントです。また、このプロジェクトが求人ボードを読み取るためにヘッドレスブラウザーを起動することはありません。
意図的に対応していないこと
- 個人データは扱いません。 採用担当者の氏名、メールアドレス、電話番号は解析時に除去され、保存されることはありません。
- ヘッドレスブラウザーもプロキシも使いません。 JSON を返す公開 ATS エンドポイントのみを使用します。
- 誤ったレイオフ判定をしません。 ページングによってソースの応答が切り捨てられている可能性がある場合、
job_closedイベントは抑制されます。ページングによる見かけ上の差異が、企業の採用停止と誤認されてはなりません。
対応ソース
greenhouse · lever · ashby · workable · teamtailor · smartrecruiters
検出順:企業の採用ページにあるリンク → ドメインから推測したボードトークン → Workable の短縮リンクをリダイレクト経由で解決。
解決できない企業については、黙って失敗するのではなく、理由を説明する source_unresolved レコードを返します。
Recruitee と Personio は、動作を確認できていないため掲載していません。現在、Personio はブラウザー以外のクライアントに 429 を返します。テストでは Recruitee のエンドポイントを解決できませんでした。このプロジェクトは、提供できない対応範囲をうたうことはありません。
リポジトリ構成
src/ Apify Actor: adapters, diff engine, derived signals
mcp/ MCP server — the same engine, self-hosted
tools/ discovery utilities (domain → ATS)
.actor/ Apify manifests and schemas
MIT ライセンスです。貢献を歓迎します。特に新しい ATS アダプターの追加を歓迎します。インターフェースはシステムごとに url() 関数と parse() 関数を 1 つずつ実装するだけです。src/adapters/index.js を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。