jobfeed について
jobfeedは、公開求人ボードと掲載中の求人を読み取るFairqueryのジョブMCPサービス向けローカルブリッジです。単一企業の検索や複数企業の求人監視に対応し、求人データを保存せず、応募や候補者情報も扱いません。
主な機能
- 01求人ボードの掲載求人を取得
- 02企業から求人ボードを特定
- 03求人の掲載継続を確認
- 04求人詳細とスターターボードを取得
- 05地域または企業で求人を検索
活用シーン
- 01企業の公開求人を確認する
- 02特定求人が掲載中かを再確認する
- 03地域と職種から求人ボードを探す
- 04企業横断で新規・終了・再掲載求人を監視する
MCP 対応
上流の求人ツールをローカルで提供し、MCP呼び出しをFairquery Jobsのリモートサーバーへ転送します。上流の結果をそのまま返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ats | enum | はい | 必須。ボードをホストする応募者追跡システム:“greenhouse” | “lever” | “ashby” | “personio” | “pinpoint” | “gem”。Personio、Pinpoint、Gem では、検出されたボードではなく、指定したアカウント、サブドメイン、またはバニティ名を入力します。例:“ashby”greenhouse | lever | ashby | personio | pinpoint | gem |
| slug | string | はい | 必須。公開ボード URL に表示されるボードの slug(大文字と小文字を区別しません):boards.greenhouse.io/{slug}、jobs.lever.co/{slug}、jobs.ashbyhq.com/{slug}、{account}.jobs.personio.de の Personio アカウント、{subdomain}.pinpointhq.com の Pinpoint サブドメイン、または jobs.gem.com/{vanity} の Gem vanity。指定されたフィードではドットを使用できません。1~100 文字。例:“ramp” または “acme” |
| limit | integer | いいえ | ページサイズ(省略可)、整数 1〜500、デフォルトは 50 |
| offset | integer | いいえ | スキップする項目数(省略可)、整数 >= 0、デフォルトは 0。前回のレスポンスの nextOffset を渡してください |
| remote | enum | いいえ | 任意。「any」|「only」|「exclude」、デフォルトは「any」any | only | exclude |
| countries | array | いいえ | 任意。ISO-3166 alpha-2 コード。いずれかに一致、大文字と小文字を区別しません。例:["US","DE"] |
| locations | array | いいえ | 任意指定、0~50 件の文字列。いずれかに一致します。勤務地テキストを部分一致で検索します。米国の州名と略号は双方向に一致します(FL と Florida)。NYC、SF、LA、DC、Tampa Bay など、米国の都市圏の別名にも一致します。"remote" は ATS のリモートフラグにも一致します。例:["new york","berlin"] |
| longOpenDays | integer | いいえ | 任意の整数。デフォルトは 60 です。この日数より古い行では long_open = true になります(経験則であり、幽霊求人の証明ではありません)。 |
| titleExcludes | array | いいえ | 任意。0~50 個の文字列。いずれかに一致します。これらの文字列を含むタイトルを除外します。例:["intern","manager"] |
| titleIncludes | array | いいえ | 任意。0~50 個の文字列。いずれかに一致します。これらの完全な単語またはフレーズを含むタイトルを保持します。大文字と小文字は区別しません。例:["engineer","data scientist"] |
| postedWithinDays | integer | いいえ | 任意の整数 1~3650。ATS の公開日から指定日数以内の求人を保持します。例:14 |
| includeDescription | boolean | いいえ | 任意のブール値。デフォルトは false です。true にすると description_text が追加されます(プレーンテキスト、最大 20,000 文字。メールアドレスと電話番号は削除済み)。 |
詳細
jobfeed
jobfeed は、公式の公開ソースから稼働中の求人ボードを読み取る、ホスト型の Fairquery jobs MCP サーバーへの小規模なローカルブリッジです。1 社の求人ボードを取得したり、 企業が利用しているボードを特定したり、1 件の求人がまだ募集中か再確認したり、 求人情報を全件取得したり、検証済みのスターターボード一覧を表示したり、 勤務地と職種でそのスターターリストを検索したりできます。また、有料の企業検索では、 多数の企業の求人を履歴付きで監視できます。
このブリッジは求人データを独自に保持しません。ライブエンドポイントから取得した 上流サーバーのツール一覧をそのままローカルで提供し、各ツール呼び出しを上流へ転送して、 結果を変更せずに返します。取得対象は読み取り専用の公開求人ボードデータです。 応募、メッセージ送信、候補者データは含まれません。
ツール
jobs_get_board— 1 つのボードに現在掲載されているすべての求人です。必須項目:atsとslug。任意のフィルターには、タイトルの包含/除外、勤務地、国、 リモート、掲載からの日数、説明の取得、ページングがあります。jobs_find_board— 企業名、ドメイン、採用ページ/ボードの URL から公開ボードを特定します。 必須項目:company。jobs_check_open— 1 件の求人がまだ掲載されているか再確認します。jobKey、 またはats+slug+jobIdを指定し、任意でincludeDescriptionを指定します。jobs_get_job—jobKey、またはats+slug+jobIdから、 掲載中の 1 件の求人の詳細情報をすべて取得します。jobs_list_seed_boards— バンドルされている検証済みボードのスターターリストです。 任意でatsによる絞り込みとページングができます。jobs_search_by_location— 企業名を指定せずに、勤務地と職種でスターターリストを検索します。 勤務地を示す情報が必要です:locations、countries、またはremote"only"。jobs_search_companies— 有料の複数企業検索・監視ツールです。多数の企業またはボードを対象に、 履歴、新規/終了、再掲載のシグナルを取得します。
ボードは Greenhouse、Lever、Ashby のほか、名前付きの Personio、Pinpoint、Gem フィードに対応しています。
設定
FAIRQUERY_JOBS_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトはhttps://mcp.getfairquery.com/jobs/mcpです。(この上書き用フックは、この再構築で独自に 追加した旨を明記した再現要素です。)FAIRQUERY_JOBS_API_KEY(任意)— 設定すると、すべての上流リクエストにAuthorization: Bearer <key>ヘッダーが付与されます。設定されていない場合、 キーのヘッダーは送信されません。上流の記録には認証ヘッダーが含まれていないため、 この転送も独自に追加した旨を明記した再現要素です。元のインターフェースは キーなしで取得されました。
転送の仕組み
最初のツール呼び出し時に、クライアントは上流とのストリーミング可能な
HTTP セッションを開きます。JSON-RPC の initialize リクエスト
(protocolVersion 2025-03-26、clientInfo name
jobfeed)、続いて notifications/initialized
通知、さらに呼び出し元の引数を変更せずに渡す tools/call リクエストを送信します。
上流が initialize に Mcp-Session-Id ヘッダーを付けて応答した場合、
その値はセッション内の後続リクエストすべてに付与され、プロセスの存続中は
セッションが再利用されます。応答はプレーンな JSON またはサーバー送信イベントで
届く場合があり、どちらも読み取ります。
上流からの成功結果は、上流が設定した isError フラグも含め、そのまま返されます。
失敗 — JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、
または完了できないリクエスト — は、テキストが jobfeed error: で始まる
isError 結果として返されます(この形式は、この再構築で独自に追加した旨を明記した再現要素です)。
CLI
各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドとしても実行できます:
npx @reneturcios/jobfeed jobs_get_board '{"ats":"ashby","slug":"ramp"}'
npx @reneturcios/jobfeed jobs_find_board '{"company":"ramp.com"}'
npx @reneturcios/jobfeed jobs_search_by_location '{"locations":["Costa Mesa"],"descriptionIncludes":["avionics"]}'
npx @reneturcios/jobfeed --version
終了コード:成功時は 0、isError の結果時は 1、使用方法に誤りがある場合は 2 です。
MCP サーバー
npx -y @reneturcios/jobfeed mcp
MCP クライアントの設定:
{
"mcpServers": {
"jobfeed": {
"command": "npx",
"args": ["-y", "@reneturcios/jobfeed", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/jobfeed
docker run --rm ghcr.io/cloudcorprecords/jobfeed --version
コンテナのデフォルトコマンドは mcp なので、最初の形式は stdio MCP サーバーとして
動作します。それ以外の引数は通常どおり CLI に渡されます。
開発
npm install
npm run build
npm test
npm run dev
テストスイートはすべてスタブ化された JSON-RPC 上流環境で実行されます。ライブネットワークへの呼び出しはありません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。