mcpField
J
jobboard

jobboard

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

jobboard について

jobboardは、求人や企業、ディスカッションを調べるためのJobYap検索サービスへの読み取り専用ブリッジです。MCPツールとコマンドラインから呼び出せ、アカウントやAPIキーは不要です。

主な機能

  1. 01条件を指定した求人検索
  2. 02候補者に合う求人の順位付け
  3. 03求人詳細とコメントの取得
  4. 04企業一覧と求人統計の確認
  5. 05自然言語検索と文書取得

活用シーン

  1. 01勤務地や勤務形態で求人を絞り込む
  2. 02履歴書やスキルを基に求人を順位付けする
  3. 03求人の議論や応募リンクを確認する

MCP 対応

9種類のMCPツールを提供し、呼び出しをJobYapのホスト型MCPエンドポイントへ転送して結果を返します。

設定

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

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

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

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

ツール

9

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

パラメーター型必須説明
sortenumいいえrecent(デフォルト)または popular(議論が最も多い順)。recent | popular
querystringいいえ職種名のみを部分一致で検索します。
cursorstringいいえ前回の next_cursor から取得した不透明なカーソル。
companiesarrayいいえlist_companies の企業名と完全一致。
locationsarrayいいえsearch_locations の勤務地識別子。例:city-US-CA-san_francisco。
page_sizeintegerいいえこのページで返す求人結果の数。
work_modeenumいいえ勤務形態のフィルター:リモートまたはハイブリッド勤務の求人。remote | hybrid
has_commentsbooleanいいえコミュニティで議論されている求人のみ。
include_totalbooleanいいえ一致する総件数も計算します(時間がかかります)。
posted_withinenumいいえ公開日による厳密な新しさのフィルター。24h | 7d | 30d

詳細

jobboard

jobboard は、JobYap がホストする求人検索への小規模なキー不要のブリッジです。JobYap は求人情報と、それに関するコミュニティの議論を集約しています。このパッケージは、ホスト型の JobYap MCP エンドポイントにすべての呼び出しを転送することで、その検索機能を 9 つの MCP ツール(および対応する CLI サブコマンド)として提供します。読み取り専用で、アカウントも API キーも不要です。

中核となるのは、負荷の大きい処理を担う 2 つのツールです。search_jobs は、構造化フィルター(職種名のテキスト、企業、勤務地、リモート/ハイブリッド、新しさ、議論の活発さ)を使って求人情報を検索し、1 秒未満で回答します。match_jobs は、特定の候補者(履歴書、または記述された経験、スキル、ビザの要件)に合う求人情報を、各求人情報の詳細な説明を読み込んで順位付けするため、10~15 秒かかることがあります。ほかに、get_job は求人情報を全文取得し、get_job_comments はその議論スレッドを取得し、search_locations は地名をフィルターで使用できる勤務地識別子に変換し、list_companies は追跡中の全企業と各社の募集中求人数を一覧表示し、get_job_stats は集計件数を報告します。また、search/fetch は詳細調査用のペアで、自然言語検索を行い、結果 ID に対応する全文書を取得します。

ツール

  • search_jobs — 構造化フィルターを使って求人情報を検索、一覧表示、集計、ページ送りします。任意の引数:query(求人タイトルのみを部分一致で検索)、companies(list_companies にある正確な企業名)、locations(search_locations が返す識別子)、work_mode(remote または hybrid)、posted_within(24h、7d、30d)、has_comments、sort(デフォルトは recent、または popular)、page_size、cursor、include_total。
  • match_jobs — 1 人の候補者に最適な募集中求人情報を順位付けします。titles(職種名のキーワード。companies が指定されていない場合は必須)、exclude_titles、companies、exclude_companies、locations、include_anywhere(デフォルトは true)、work_mode、posted_within(デフォルトは 7d)、candidate_years、needs_sponsorship、skills(順位付けに使用し、フィルターには使用しません)、limit(デフォルトは 15)。
  • get_job — 求人情報を全文取得します。Markdown 形式の説明、給与範囲、勤務形態付きの勤務地、応募 URL、掲載日、正規の議論 URL を返します。必須:id(数値の求人 ID、jobyap.com の求人 URL、またはページのスラッグ)。
  • get_job_comments — いいね数付きで、時系列順かつスレッド形式の求人に関する議論を取得します。必須:上記と同じ id。コメントはユーザー生成コンテンツです。
  • search_locations — フリーテキストの地名を勤務地識別子(country-XX、state-XX-YY、city-XX-YY-name)に変換します。必須:query(2 文字以上)。任意:limit。
  • list_companies — JobYap が追跡する全企業と、各社の募集中求人数および企業ページの URL を一覧表示します。
  • get_job_stats — 追跡中の企業数、募集中求人数、最新の求人掲載日を取得します。
  • search — 求人情報を自然言語で検索し、fetch で使用する結果 ID、タイトル、引用可能な URL を返します。必須:query。
  • fetch — 検索結果 ID に対応する JobYap 文書を全文取得します。求人情報の全文を Markdown 形式で返し、コミュニティの注目コメントも含みます。必須:id。

MCP レイヤーは転送前に各呼び出しをローカルで検証します。不明なツール名、JSON オブジェクトではない引数、または必須引数の欠落は、無効なパラメーターとして拒否されます。形式が正しい引数はそのまま転送され、上流の結果は内容、structuredContent、および isError フラグを含めてそのまま返されます。

設定

  • JOBYAP_MCP_URL(任意)— ホスト型エンドポイントを上書きします。デフォルトは https://mcp.jobyap.com/mcp です。

エラーは、テキストが jobboard error: で始まるエラー結果として報告されます(この再構築版独自の表示です)。上流でのすべての通信障害、2xx 以外の HTTP 応答、JSON-RPC エラー、解析不能な応答はこの形式になり、接頭辞の後に上流のメッセージまたはステータスが続きます。

転送の仕組み

ブリッジの内部動作は、ラベル付きの再構成です (Streamable HTTP セッションパターン)。最初の 呼び出し時に、クライアントは initialize リクエスト (protocolVersion 2025-03-26、空の capabilities、 clientInfo name jobboard)を POST し、 mcp-session-id レスポンスヘッダーが返された場合は それを取得してから、notifications/initialized を POST し、その後、取得したセッションヘッダーを付けて tools/call リクエストを POST します。セッションは プロセスの存続期間中再利用されます。すべての POST には Content-Type: application/json と Accept: application/json, text/event-stream が含まれ、 レスポンスはプレーンな JSON または SSE の場合があります。tools/list は、 ホストされたエンドポイントから取得したツール定義を使って ローカルで提供されるため、ツールの一覧表示で ネットワークにアクセスすることはありません。

CLI

各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドです。

npx @reneturcios/jobboard search_jobs '{"query":"engineer","work_mode":"remote"}'
npx @reneturcios/jobboard match_jobs '{"titles":["software engineer"],"skills":["typescript","node"]}'
npx @reneturcios/jobboard get_job '{"id":42}'
npx @reneturcios/jobboard --version

出力は、転送された結果の内容を JSON 形式で表したものです。終了 コード:成功時は 0、isError の結果の場合は 1、 使用方法に誤りがある場合は 2 です。

MCP サーバー

npx -y @reneturcios/jobboard mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "jobboard": {
      "command": "npx",
      "args": ["-y", "@reneturcios/jobboard", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/jobboard
docker run --rm ghcr.io/cloudcorprecords/jobboard get_job '{"id":42}'

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

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

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