jobhunt_mcp
jobhunt_mcp
Claude をあなたの就職活動のオペレーションマネージャーに変える、個人用 MCP サーバー:
検索 — LinkedIn、Indeed、ZipRecruiter、Glassdoor(JSearch API)に加え、Adzuna の最新の求人情報を検索
追跡 — Google スプレッドシートで、すべての応募を管理(ステータス、優先度、メモ)
フォローアップ — スケジュールに沿って実行。期限を過ぎたリマインダーが自動的に表示されます
ネットワーキング — 企業ごとに連絡先を管理し、準備のときに呼び出せます
カスタマイズ — 1 つのツールが求人情報 + マスターレジュメ + 連絡先をまとめ、Claude がターゲットに合わせたレジュメとカバーレターを作成し、Google ドライブに直接保存します
設計上、応募を自動送信することはありません。自動送信ボットは求人ボードの利用規約に違反し、フラグが付けられます。代わりに prepare_application_package ツールを使えば、「確認して送信をクリック」する状態まで 1 ステップで到達できます。
前提条件
Python 3.10+
MCP クライアント — 以下では Claude Desktop を前提としますが、MCP 互換のクライアントならどれでも動作します。
Google アカウント(Sheets トラッカー + Drive へのレジュメ保存用)。
(任意) ライブ求人検索用の無料 RapidAPI または Adzuna アカウント。
Related MCP server: cv-job-assistant
セットアップ
セットアップの流れ: Google サービスアカウントを作成し、スプレッドシート + Drive フォルダ + レジュメをそのアカウントと共有し、(任意で)検索 API キーを取得して、Claude Desktop で server.py を指定します。Google の手順には約 10 分を見込んでください。
1. Google サービスアカウント(約 5 分)
https://console.cloud.google.com にアクセス → プロジェクトを作成(例:
jobhunt)。Google Sheets API と Google Drive API を有効にします(API とサービス → ライブラリ)。
API とサービス → 認証情報 → 認証情報を作成 → サービスアカウント。名前は何でも構いません。任意の手順はスキップしてください。
サービスアカウントを開く → キー → キーを追加 → JSON。ファイルは安全な場所(例:
~/.config/jobhunt/service-account.json)に保存します。サービスアカウントのメールアドレス(
.iam.gserviceaccount.comで終わります)をコピーします — 次の手順でこのアドレスと共有します。
2. Google スプレッドシート(トラッカーデータベース)
「Job Hunt Tracker」などという名前の空の Google スプレッドシートを作成します。
サービスアカウントのメールアドレスと編集者として共有します。
URL からスプレッドシート ID を取得します:
docs.google.com/spreadsheets/d/<THIS_PART>/edit。
サーバーは初回使用時に、Jobs、Contacts、Activity タブをヘッダー付きで自動的に作成します。
3. Google Drive フォルダ + マスターレジュメ
「Job Applications」などという名前の Drive フォルダを作成し、サービスアカウントと編集者として共有します。URL からフォルダ ID をコピーします。
マスターレジュメを Google ドキュメントとして Drive に置きます(これまでにやってきたことをすべてまとめた版 — カスタマイズで絞り込みます)。サービスアカウントと共有し、ファイル ID をコピーします。
4. 検索 API キー(任意)
JSearch(推奨 — すべてのボードを一度に検索): https://rapidapi.com で無料登録 → "JSearch" を検索 → Basic(無料)プランに登録 → RapidAPI キーを RAPIDAPI_KEY にコピー。
Adzuna: https://developer.adzuna.com で無料登録 → 登録 → App ID と App Key を ADZUNA_APP_ID と ADZUNA_APP_KEY にコピー。
jobhunt_add_job で求人情報を手動で貼り付けたい場合は、これらはスキップしてください。
5. インストールと設定
pip install -r requirements.txtclaude_desktop_config.example.json を Claude Desktop の設定(claude_desktop_config.json)にコピーし、args の server.py へのパス、GOOGLE_SERVICE_ACCOUNT_FILE のパス、そして上記の手順で取得した ID/キーを記入します。
設定ファイルの場所:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json(commandには"python"を使い、パスは二重バックスラッシュにします。例:C:\\Users\\you\\jobhunt-mcp\\server.py)Linux:
~/.config/Claude/claude_desktop_config.json
Claude Desktop を再起動します(完全に終了 — Windows/macOS ではトレイ/メニューバーを確認)。サーバーが起動すると、jobhunt ツールが表示されます。
環境変数
すべて Claude Desktop 設定の env ブロックで構成します:
変数 | 必須 | 説明 |
| ✅ | サービスアカウント JSON キーへの絶対パス |
| ✅ | トラッカー Google スプレッドシートの ID(サービスアカウントと共有済み) |
| ✅ | 保存ドキュメント用の Drive フォルダの ID |
| ✅ | マスターレジュメ Google ドキュメントの ID |
| 任意 | JSearch 用の RapidAPI キー( |
| 任意 |
|
| 任意 |
|
| 任意 | Adzuna の国コード(デフォルト |
6. 動作確認
サーバー単体はいつでも MCP Inspector でテストできます(Claude Desktop は不要です):
npx @modelcontextprotocol/inspector python3 server.py次に、jobhunt_get_master_resume(Drive へのアクセスを確認)と jobhunt_list_jobs(Sheets へのアクセスを確認)を試してください。両方が認証エラーなしで返れば、セットアップ完了です。
ツール
ツール | 説明 |
| JSearch(RapidAPI)経由で LinkedIn/Indeed/ZipRecruiter/Glassdoor を横断検索 |
| 最新の求人情報を検索(Adzuna) |
| 求人情報をトラッカーに保存(説明文全体を貼り付けてください!) |
| パイプラインの閲覧 / 詳細レコードの取得 |
| discovered → preparing → applied → interviewing → offer とステータスを進める |
| 面接、メール、メモを記録; フォローアップをスケジュール( |
| 期限切れと今後のフォローアップを表示 |
| 企業ごとのネットワーキング CRM |
| Drive からマスターレジュメを取得 |
| カスタマイズしたレジュメ/カバーレターを Google ドキュメントとして Drive に保存 |
| カスタマイズと応募に必要なすべてを 1 回の呼び出しでまとめる |
試せるプロンプト例
"今週投稿されたダラス近郊の SOC ディテクションエンジニアの求人をすべてのボードで検索して、最も合う 3 件を保存して。"
"求人 a1b2c3d4 の応募パッケージを準備して、それに合わせてレジュメを調整し、両方のドキュメントを保存して。"
"フォローアップで遅れているものはどれ?"
"Acme との電話面接が終わったばかり — それを記録して、明日お礼のメモを送るようリマインドして。"
セキュリティ上の注意
サービスアカウントの JSON キーは認証情報です — git や共有フォルダに置かないでください。
サービスアカウントが操作できるのは、明示的に共有したファイルのみです。
ウェブから取得した求人情報は、信頼できないコンテンツとして扱ってください。サーバーはそれらをプレーンデータとして保存します。
This server cannot be deployed
Maintenance
Related MCP Connectors
Job search tracker for Claude and ChatGPT: applications, interviews, follow-ups, company watch.
1- jobwyreOAuthapp.jobwyre
Track job applications on a board: let Claude or ChatGPT read and update jobs, interviews, notes.
Find jobs, then get a tailored résumé and cover letter for each one. Tracks your applications too.
1Analyze job listings against your resume, track applications, and generate cover letters.
Related MCP Servers
- FlicenseAqualityDmaintenanceTransforms Claude into an AI job-hunting assistant that searches remote job boards, scores roles against your CV, generates tailored cover letters, and logs everything to a Notion tracker.11-
- FlicenseNot gradedqualityCmaintenanceEnables Claude to parse CVs, search job boards (Remotive, Arbeitnow, Adzuna, Greenhouse/Lever), tailor resumes and cover letters, and prepare application packages with direct apply links—without ever auto-submitting. It runs 100% locally and free, storing jobs and applications as JSON files.-
- FlicenseAqualityBmaintenanceEnables managing a job search through natural language: tracking applications, discovery leads, interview prep, and resume generation. Connects to Claude via MCP to read and update local Excel files and documents.35-
- FlicenseNot gradedqualityBmaintenanceEnables Claude Desktop to manage a job search end-to-end: find and score job listings, tailor resumes, generate application messages, and track application history, while leaving final external actions to the user.-