HN Who is hiring について
HN Who is hiringは、Hacker Newsの求人投稿を検索可能な構造化データに変換する読み取り専用のMCPサーバーです。求人を探す人や採用動向を調べる人向けに、解析済みの項目と月別の技術集計を提供します。
主な機能
- 01月別の求人スレッド一覧
- 02条件による求人検索
- 03解析済み求人詳細の取得
- 04月別採用トレンドの集計
- 05型付き読み取り専用ツール
活用シーン
- 01給与記載のあるリモート求人の検索
- 02勤務地や技術による求人の絞り込み
- 03月ごとの技術言及の比較
MCP 対応
MCPサーバーは、スレッド一覧、求人検索、投稿の取得、採用トレンド確認の4つの読み取り専用ツールを提供します。各ツールはJSONの入力・出力スキーマを宣言します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ |
詳細
hn-hiring-mcp
月例の Hacker News **「Ask HN: Who is hiring?」**スレッドを、型付きの検索可能な求人 API に変換する MCP サーバーです。
毎月、何百もの企業が自由形式のコメントで求人情報を投稿しています。HN 独自の API では ID によるアイテムの取得しかできないため、*「給与を明記したヨーロッパのリモート Python 職」や「Rust の需要は伸びているか?」*といった質問はできません。このサーバーは各投稿を構造化フィールド(企業、職種、勤務地、リモート/ハイブリッド/出社、給与、ビザ、テクノロジー)に解析し、すべての MCP クライアントで使える読み取り専用ツールを 4 つ提供します。
ツール
| ツール | 機能 |
|---|---|
list_hiring_threads | 最新の月例スレッドと ID、コメント数を返します。 |
search_jobs | 1 か月分を検索します。フリーテキスト、location、work_mode、technologies、has_salary、visa_sponsorship、sort、limit/offsetに対応します。簡潔な概要を返します。 |
get_job | ID で指定した投稿の全文と解析済みフィールドを返します。 |
hiring_trends | 月ごとに、各テクノロジーに言及した投稿の割合と、リモート/ハイブリッド/出社の件数を返します。 |
すべてのツールは入力および出力(structuredContent)の JSON Schema を宣言し、readOnlyHint が注釈されており、モデルが読み取れる明確なエラーを返します。
INVALID_INPUT: Unknown technology "cobol". Known technologies: Python, TypeScript, … For anything else use the free-text "query".
NOT_FOUND: HN item 49922569 is not a top-level job post in a "Who is hiring?" thread.
UPSTREAM_ERROR: HN API answered 503 while loading thread list. Try again later.
インストール
Node.js 22 以降が必要です。
Claude Code
claude mcp add hn-hiring -- npx -y hn-hiring-mcp
Claude Desktop:claude_desktop_config.jsonに追加します
(macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json)。
{
"mcpServers": {
"hn-hiring": {
"command": "npx",
"args": ["-y", "hn-hiring-mcp"]
}
}
}
その他の MCP クライアントでは、stdio サーバーとして npx -y hn-hiring-mcp を実行します。
使用例
Claude Desktop での簡略化したセッション(2026 年 10 月のデータ):
あなた: 今月の Who is hiring から、給与を明記したリモートの Python 求人を探してください。
Claude が呼び出し
search_jobs({ "technologies": ["Python"], "work_mode": "remote", "has_salary": true })Claude: 2026 年 10 月のスレッドには、Python に言及するリモート求人が 37 件あり、そのうち 22 件は給与を明記しています。
- NeuralFrame:シニアバックエンドエンジニア、医療データパイプライン(Python + Rust)。 リモート(米国限定、ビザスポンサーなし)、17 万~21 万ドル + 株式報酬。 HN の投稿
- …
あなた: 今年、MCP の経験に対する需要は変化しましたか?
Claude が呼び出し
hiring_trends({ "technologies": ["MCP", "Python", "TypeScript"], "months": 6 })Claude: はい。MCP に言及する投稿は 5 月の 2.5% から 10 月には 4.5% に増加しました(6 月の最低時は 1.3%)。一方、Python(22~27%)と TypeScript(20~24%)は横ばいでした。
仕組み
- データソース: 公開されている HN Algolia API。Firebase API に約 400 件リクエストする代わりに、1 回のリクエストでスレッド全体(求人投稿約 250 件)を取得します。
- リクエストの配慮: リクエストは直列化され、少なくとも 1 秒間隔で送信されます。識別用の
User-Agentを設定し、429/5xx の場合は 1 回再試行します。 - キャッシュ: 応答はメモリとディスク(
~/.cache/hn-hiring-mcp。HN_HIRING_MCP_CACHE_DIRで変更可能。またはoff)にキャッシュされます。45 日より古いスレッドは変更されないため保持され、当月分は 1 時間ごとに更新されます。求人投稿への返信はキャッシュ前に除外されます。 - 解析(
src/parse.ts)では、スレッド独自の慣例であるCompany | Role | Location | REMOTE | Salaryに従い、—区切り、括弧内の勤務地、-で記された給与範囲にも対応します。テクノロジーの検出(src/technologies.ts)は慎重に行われ、「Go ahead and apply」は Go と判定しません。投稿は自由形式のテキストのため、フィールドは可能な範囲での解析結果です。確認用としてheadlineとhn_urlは常に用意されています。
プライバシーと範囲
- 読み取り専用です。アカウントの作成やログインは不要で、本人に代わって応募することもありません。
- 投稿内のメールアドレス(
name [at] company [dot] comやパズル形式のものを含む)は[email on HN]に置き換えられます。ユーザーはhn_urlから元の投稿にアクセスして応募します。 - 投稿者のHNユーザー名は返されません。
開発
npm install
npm test # vitest, against recorded fixtures only; no network
npm run typecheck
npm run build
node scripts/smoke.ts search_jobs '{"query":"rust","limit":3}' # live call through a real MCP client
node scripts/record-fixtures.ts # refresh fixtures (anonymised, trimmed)
サーバーテストでは、メモリ内トランスポートを介して実際のMCP Clientをサーバーに接続するため、Claudeと同じ方法でスキーマ、検証、エラーマッピングをテストできます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。