autopilot-jobhunt について
autopilot-jobhunt は、130 社以上の採用ページを毎晩スキャンし、LLM でユーザーの職務経歴書と各求人の適合度を採点して、上位の求人を Telegram で通知する求職支援 MCP サーバーです。応募書類の下書きのみを作成し、応募は行わないため、最終的な確認と応募はユーザー自身が行います。
主な機能
- 01130 社以上の採用ページのスキャン
- 02職務経歴書に基づく LLM による適合度採点
- 03高スコア求人の Telegram 通知
- 04求人ごとの職務経歴書・カバーレター下書き作成
- 05求人一覧の CSV エクスポート
活用シーン
- 01毎晩の条件に合う求人の自動抽出
- 02選択した求人向けの応募書類下書きの作成
- 03Claude Code から自然言語で求職作業を管理
MCP 対応
Claude Code や Claude Desktop に MCP サーバーとして接続し、MCP クライアントから自然言語でスキャン、下書き作成、エクスポートなどの操作を実行できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
autopilot-jobhunt
あなたの AI 就職活動エージェントです。求人を見つけ、スコアを付け、応募書類を作成します。あなたが眠っている間に。
毎晩 130 社以上の採用ページをスキャン → LLM で履歴書に照らして各求人をスコアリング → 上位の求人を Telegram で通知 → 必要に応じて、求人に合わせた履歴書とカバーレターを作成します。
🔒 作成するのは下書きのみで、応募はしません。 すべての下書きを確認し、自分で応募を送信してください。お使いのマシンから外部に送信されるデータの詳細は、PRIVACY.md をご覧ください。
9 万人以上が閲覧 — このプロジェクトのきっかけとなった Instagram リール。
PyPI で公開され、公式 MCP レジストリ(io.github.tarunlnmiit/autopilot-jobhunt)、Glama(品質 A)、Smithery(MCPB バンドル)に掲載されています。
📖 Claude Code MCP 連携を含む完全なセットアップガイド → SETUP.md
⭐ 就職に役立ったら、このリポジトリにスターを付けてください
このツールは無料のオープンソースで、すべてお使いのマシン上で動作します。サブスクリプションもクレジットカードも不要です。お願いする「対価」はひとつだけです。応募した(または採用された)求人をこのツールが見つけてくれたら、スターを付けてください。 ワンクリックで、費用はかかりません。そして、130 社の採用ページを手作業で調べている次の人にこのプロジェクトを届けるための、何よりの後押しになります。⭐ こちらからスターを付ける →
仕組み
flowchart LR
A["🌐 130+ Careers Pages"] -->|TinyFish API| B["Job Discovery"]
B --> C["LLM Batch Scorer\n(0–100 fit score)"]
C -->|score ≥ min| D["📱 Telegram Alert\nTop N matches"]
C -->|on demand| E["✉️ Cover Letter\n+ Resume Bullets"]
C --> F["📊 CSV Export"]
スコアリングプロンプトには、実際の履歴書を使用します。キーワードだけではありません。LLM が職歴全体と求人情報を読み、適性があるかどうかを一文で説明します。もう推測する必要はありません。
スキャン結果の例
Scanning Mistral AI...
3 new job URLs. Fetching details...
Scoring jobs...
Saved 2 jobs from Mistral AI
Scanning HuggingFace...
5 new job URLs. Fetching details...
Scoring jobs...
Saved 3 jobs from HuggingFace
Scanning Stripe...
No new jobs found
...
Scan complete.
Top 5 sent to Telegram.
Telegram 通知の例
Job Hunt — 06 Jun 2026
5 matches found
#1 | Mistral AI | Applied AI Engineer, ML Infrastructure
📍 Paris/London/Marseille, On-site
🔧 Python, LLMs, RAG, AWS, MLOps, DevOps
✅ Role combines applied AI + ML infrastructure in EU, aligns with MLOps/RAG expertise and relocation goal
Score: 85/100 → https://jobs.lever.co/mistral/...
#2 | HuggingFace | Staff ML Engineer
📍 Remote (EU)
🔧 Python, PyTorch, Transformers, CUDA, MLOps
✅ Open-source ML role matches deep learning and distributed training background
Score: 80/100 → https://apply.workable.com/huggingface/...
...
Reply "apply to #N" to draft a tailored application.
できること
Every night at 2:30 AM:
┌─────────────────────────────────────────────────────────┐
│ Scans careers pages → Scores with LLM → Notifies │
│ (130+ cos) (0–100 fit) (Telegram) │
└─────────────────────────────────────────────────────────┘
On demand:
autopilot draft 1 → tailored resume + cover letter in 60s
利用モード
Mode 1: Standalone CLI (no Claude Code required)
pip install autopilot-jobhunt
autopilot scan / autopilot draft 1 / autopilot export
Mode 2: Claude Code MCP (control via natural language)
pip install 'autopilot-jobhunt[mcp]'
claude mcp add autopilot-jobhunt ...
→ "Scan for ML jobs" / "Draft application for job #2"
どちらのモードも同じ設定を使い、同じ出力を生成します。
クイックスタート
オプション A — pip install
pip install autopilot-jobhunt # or: pip install 'autopilot-jobhunt[mcp]' for Claude Code
mkdir my-job-hunt && cd my-job-hunt
autopilot init # creates config.json, companies.json, resume/, .env
# Fill in config.json (API keys + your profile) and resume/YOUR_RESUME.md, then:
autopilot scan
オプション B — clone(企業のカスタマイズやコントリビュートを行う場合におすすめ)
git clone https://github.com/tarunlnmiit/autopilot-jobhunt.git
cd autopilot-jobhunt
pip install -e '.' # standalone CLI
# pip install -e '.[mcp]' # + Claude Code MCP integration
cp config.example.json config.json && cp .env.example .env
# Fill in your API keys and candidate profile, then:
autopilot scan
詳しい手順 — API キーの設定、Claude Code MCP の登録、レート制限の詳細、トラブルシューティングについては、SETUP.md をご覧ください。
📚 ドキュメント
手順を追ったガイドは docs/ にあります。
| ガイド | 内容 |
|---|---|
| インストール | pip/ソースからのインストール/autopilot init によるひな形の作成 |
| LLM プロバイダー | OpenRouter のフォールバックチェーン、Claude CLI(キー不要)、Anthropic API |
| API キー | TinyFish と OpenRouter のキー、およびそれぞれの設定先 |
| 企業とスキャン | companies.json、求人の検出とスコアリング、スキャン間隔 |
| 連携 | Telegram 通知 |
| MCP サーバーとスキル | Claude Code から求人探しを進める方法 |
| 設定とスコアリング | 候補者プロフィール、min_score、top_n |
| トラブルシューティング | 発生したすべてのエラーとその解決方法 |
| テストチェックリスト | 再現可能な独立検証 |
必要な API キー
| サービス | 費用 | 必須 | 入手先 |
|---|---|---|---|
| TinyFish | 無料 — クレジットカード不要 | 常に必要 | agent.tinyfish.ai |
| OpenRouter | 無料 — 4 モデルのフォールバックチェーン | Claude CLI/Anthropic を使う場合を除き必要 | openrouter.ai |
| Telegram | 無料 | 任意 | Telegram の @BotFather |
Claude Code/MCP 連携
Claude Code(CLI)または Claude Desktop 内で、autopilot-jobhunt を MCP サーバーとして使用します。
ステップ 1:MCP サポート付きでインストールする
git clone https://github.com/tarunlnmiit/autopilot-jobhunt.git
cd autopilot-jobhunt
pip install -e '.[mcp]'
ステップ 2:Claude Code に登録する
方法 A — コマンド 1 つで登録:
claude mcp add autopilot-jobhunt \
--env TINYFISH_API_KEY=your_key \
--env OPENROUTER_API_KEY=your_key \
--env TELEGRAM_TOKEN=your_token \
--env TELEGRAM_CHAT_ID=your_chat_id \
-- python -m job_hunt.mcp_server
方法 B — ~/.claude.json を手動で編集:
{
"mcpServers": {
"autopilot-jobhunt": {
"command": "python",
"args": ["-m", "job_hunt.mcp_server"],
"cwd": "/absolute/path/to/autopilot-jobhunt",
"env": {
"TINYFISH_API_KEY": "your_key",
"OPENROUTER_API_KEY": "your_key",
"TELEGRAM_TOKEN": "your_token",
"TELEGRAM_CHAT_ID": "your_chat_id"
}
}
}
}
注:
cwdはクローンしたリポジトリを指す必要があります。サーバーはその場所からconfig.jsonとcompanies.jsonを読み込みます。
ステップ 3:使用する
任意の Claude Code セッションで:
"Scan for ML jobs"
"Draft an application for job #2"
"Export jobs from the last 7 days with score above 70"
Claude Desktop
同じ JSON ブロックを、Claude Desktop → Settings → Developer の mcpServers の下に追加します。
対象企業をカスタマイズする
companies.json を編集します。各エントリには次の項目が必要です。
{
"name": "Stripe",
"careers_url": "https://stripe.com/jobs",
"search_domain": "stripe.com",
"location": "Remote / San Francisco, CA",
"region": "Remote"
}
このリポジトリには、EU、NZ、およびリモート勤務に対応したテック企業が 130 社以上、あらかじめ設定されています。自由に追加または削除できます。
スコアリングの仕組み
LLM があなたの履歴書全体と求人情報全体を読み、0〜100 のスコアを割り当てます。
| スコア | 意味 |
|---|---|
| 80–100 | ほぼ完璧にマッチ — すぐに応募しましょう |
| 60–79 | よくマッチ — 応募する価値があります |
| 40–59 | 部分的にマッチ — 応募先候補が少ない場合は応募しましょう |
| < 40 | マッチ度が低い — スキップされます |
設定で min_score を指定して絞り込みます。デフォルトは 60 です。
プロジェクト構成
autopilot-jobhunt/
├── job_hunt/
│ ├── main.py # CLI entry point
│ ├── scanner.py # Job discovery + LLM scoring
│ ├── drafter.py # Resume tailoring + cover letter
│ ├── notifier.py # Telegram notifications
│ ├── llm_utils.py # OpenRouter wrapper with fallback
│ ├── tools.py # Protocol-agnostic tool layer
│ └── mcp_server.py # MCP server (Claude/AI assistant integration)
├── demo/ # Demo scripts for recording GIF
├── resume/ # Put your resume here (gitignored)
├── state/ # Scan state (gitignored)
├── output/ # Generated applications (gitignored)
├── companies.json # 130+ target companies
├── config.example.json # Config template (copy to config.json — gitignored)
└── config.json # Your config (gitignored — never committed)
LLM の選択肢
デフォルト:OpenRouter(無料)
4 モデルのフォールバックチェーンを使用します。すべて無料で、クレジットカードは不要です。
| モデル | 役割 |
|---|---|
meta-llama/llama-3.3-70b-instruct:free | プライマリ — 最高品質 |
nvidia/nemotron-3-super-120b-a12b:free | フォールバック 1 — 120B |
google/gemma-4-31b-it:free | フォールバック 2 |
qwen/qwen3-coder:free | フォールバック 3 |
モデルの 1 つが 1 日あたりの無料枠の上限に達すると、ツールは自動的に次のモデルを試します。デフォルトでは LLM の費用はかかりません。
代替 A:Claude Code CLI(API キー不要)
Claude Code をインストールして認証済みであれば、別途 API キーを用意せずに LLM バックエンドとして使用できます。
config.json で設定します。
"llm_provider": "claude_cli"
または環境変数で設定します:LLM_PROVIDER=claude_cli autopilot scan
必要に応じてモデルを設定します:"claude_cli_model": "sonnet"(または "opus"、"haiku"、空欄 = Claude のデフォルト)。
注: PATH に
claudeバイナリが必要です。まずclaude --print "hi"を実行して確認してください。 MCP サーバーと cron ジョブは、Claude の認証セッションが有効な環境で実行する必要があります。レート制限に関する注記: 呼び出しごとに、グローバルな Claude Code のコンテキスト(約 25〜30k トークン)が読み込まれます。夜間スキャン (LLM 呼び出し 5〜15 回)では、サブスクリプションの 7 日間のレート制限を大きく消費します。夜間の自動化には OpenRouter を優先し、必要に応じて作成する場合に Claude CLI を使用してください。
代替案 B:Anthropic API
Anthropic API キーをお持ちの場合:
pip install 'autopilot-jobhunt[claude]'
config.json では:
"llm_provider": "anthropic",
"anthropic_api_key": "sk-ant-...",
"anthropic_model": "claude-haiku-4-5-20251001"
claude-haiku-4-5-20251001 は高速で低コストです。claude-sonnet-4-6 はより高い品質スコアを実現します。夜間スキャンで使用する LLM 呼び出しは合計約 5~15 回です(求人情報は 10 件ずつまとめてスコアリングされます)。
コントリビューション
CONTRIBUTING.md をご覧ください。以下に関する PR を歓迎します。
companies.jsonへの企業の追加- 新しい ATS プラットフォームのサポート(Rippling、Lever のバリエーション、Workday)
- OpenAI / Gemini MCP アダプター
- スコアリングプロンプトの改善
ライセンス
MIT — LICENSE をご覧ください。
[@tarunlnmiit によって作成されました。これによって求人探しの時間を何時間も節約できたなら、⭐を付けていただけると大変励みになります。]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。