jobboard について
jobboardは、求人や企業、ディスカッションを調べるためのJobYap検索サービスへの読み取り専用ブリッジです。MCPツールとコマンドラインから呼び出せ、アカウントやAPIキーは不要です。
主な機能
- 01条件を指定した求人検索
- 02候補者に合う求人の順位付け
- 03求人詳細とコメントの取得
- 04企業一覧と求人統計の確認
- 05自然言語検索と文書取得
活用シーン
- 01勤務地や勤務形態で求人を絞り込む
- 02履歴書やスキルを基に求人を順位付けする
- 03求人の議論や応募リンクを確認する
MCP 対応
9種類のMCPツールを提供し、呼び出しをJobYapのホスト型MCPエンドポイントへ転送して結果を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
9掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sort | enum | いいえ | recent(デフォルト)または popular(議論が最も多い順)。recent | popular |
| query | string | いいえ | 職種名のみを部分一致で検索します。 |
| cursor | string | いいえ | 前回の next_cursor から取得した不透明なカーソル。 |
| companies | array | いいえ | list_companies の企業名と完全一致。 |
| locations | array | いいえ | search_locations の勤務地識別子。例:city-US-CA-san_francisco。 |
| page_size | integer | いいえ | このページで返す求人結果の数。 |
| work_mode | enum | いいえ | 勤務形態のフィルター:リモートまたはハイブリッド勤務の求人。remote | hybrid |
| has_comments | boolean | いいえ | コミュニティで議論されている求人のみ。 |
| include_total | boolean | いいえ | 一致する総件数も計算します(時間がかかります)。 |
| posted_within | enum | いいえ | 公開日による厳密な新しさのフィルター。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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。