mcpField
J
jobfeed

jobfeed

ローカル
github.com/CloudCorpRecordsビジネス・マーケティング01 週間前に更新

jobfeed について

jobfeedは、公開求人ボードと掲載中の求人を読み取るFairqueryのジョブMCPサービス向けローカルブリッジです。単一企業の検索や複数企業の求人監視に対応し、求人データを保存せず、応募や候補者情報も扱いません。

主な機能

  1. 01求人ボードの掲載求人を取得
  2. 02企業から求人ボードを特定
  3. 03求人の掲載継続を確認
  4. 04求人詳細とスターターボードを取得
  5. 05地域または企業で求人を検索

活用シーン

  1. 01企業の公開求人を確認する
  2. 02特定求人が掲載中かを再確認する
  3. 03地域と職種から求人ボードを探す
  4. 04企業横断で新規・終了・再掲載求人を監視する

MCP 対応

上流の求人ツールをローカルで提供し、MCP呼び出しをFairquery Jobsのリモートサーバーへ転送します。上流の結果をそのまま返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-jobfeed": {
"command": "npx",
"args": [
"-y",
"@reneturcios/jobfeed"
]
}
}
}
起動コマンドnpx -y @reneturcios/jobfeed

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/jobfeed0.1.0
ocighcr.io/cloudcorprecords/jobfeed:0.1.0

ツール

7

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
atsenumはい必須。ボードをホストする応募者追跡システム:“greenhouse” | “lever” | “ashby” | “personio” | “pinpoint” | “gem”。Personio、Pinpoint、Gem では、検出されたボードではなく、指定したアカウント、サブドメイン、またはバニティ名を入力します。例:“ashby”greenhouse | lever | ashby | personio | pinpoint | gem
slugstringはい必須。公開ボード 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”
limitintegerいいえページサイズ(省略可)、整数 1〜500、デフォルトは 50
offsetintegerいいえスキップする項目数(省略可)、整数 >= 0、デフォルトは 0。前回のレスポンスの nextOffset を渡してください
remoteenumいいえ任意。「any」|「only」|「exclude」、デフォルトは「any」any | only | exclude
countriesarrayいいえ任意。ISO-3166 alpha-2 コード。いずれかに一致、大文字と小文字を区別しません。例:["US","DE"]
locationsarrayいいえ任意指定、0~50 件の文字列。いずれかに一致します。勤務地テキストを部分一致で検索します。米国の州名と略号は双方向に一致します(FL と Florida)。NYC、SF、LA、DC、Tampa Bay など、米国の都市圏の別名にも一致します。"remote" は ATS のリモートフラグにも一致します。例:["new york","berlin"]
longOpenDaysintegerいいえ任意の整数。デフォルトは 60 です。この日数より古い行では long_open = true になります(経験則であり、幽霊求人の証明ではありません)。
titleExcludesarrayいいえ任意。0~50 個の文字列。いずれかに一致します。これらの文字列を含むタイトルを除外します。例:["intern","manager"]
titleIncludesarrayいいえ任意。0~50 個の文字列。いずれかに一致します。これらの完全な単語またはフレーズを含むタイトルを保持します。大文字と小文字は区別しません。例:["engineer","data scientist"]
postedWithinDaysintegerいいえ任意の整数 1~3650。ATS の公開日から指定日数以内の求人を保持します。例:14
includeDescriptionbooleanいいえ任意のブール値。デフォルトは 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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。