mcpField
A
autopilot-jobhunt

autopilot-jobhunt

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

autopilot-jobhunt について

autopilot-jobhunt は、130 社以上の採用ページを毎晩スキャンし、LLM でユーザーの職務経歴書と各求人の適合度を採点して、上位の求人を Telegram で通知する求職支援 MCP サーバーです。応募書類の下書きのみを作成し、応募は行わないため、最終的な確認と応募はユーザー自身が行います。

主な機能

  1. 01130 社以上の採用ページのスキャン
  2. 02職務経歴書に基づく LLM による適合度採点
  3. 03高スコア求人の Telegram 通知
  4. 04求人ごとの職務経歴書・カバーレター下書き作成
  5. 05求人一覧の CSV エクスポート

活用シーン

  1. 01毎晩の条件に合う求人の自動抽出
  2. 02選択した求人向けの応募書類下書きの作成
  3. 03Claude Code から自然言語で求職作業を管理

MCP 対応

Claude Code や Claude Desktop に MCP サーバーとして接続し、MCP クライアントから自然言語でスキャン、下書き作成、エクスポートなどの操作を実行できるようにします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tarunlnmiit-autopilot-jobhunt": {
"command": "uvx",
"args": [
"autopilot-jobhunt"
]
}
}
}
起動コマンドuvx autopilot-jobhunt

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

パッケージ
pypiautopilot-jobhunt0.4.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

autopilot-jobhunt

あなたの AI 就職活動エージェントです。求人を見つけ、スコアを付け、応募書類を作成します。あなたが眠っている間に。

毎晩 130 社以上の採用ページをスキャン → LLM で履歴書に照らして各求人をスコアリング → 上位の求人を Telegram で通知 → 必要に応じて、求人に合わせた履歴書とカバーレターを作成します。

🔒 作成するのは下書きのみで、応募はしません。 すべての下書きを確認し、自分で応募を送信してください。お使いのマシンから外部に送信されるデータの詳細は、PRIVACY.md をご覧ください。

autopilot-jobhunt のデモ — 夜間スキャン、LLM によるスコアリング、Telegram 通知、応募書類の作成

CI codecov PyPI version PyPI downloads Python 3.11+ License: MIT GitHub Stars autopilot-jobhunt MCP server Listed on CodeGuilds MCPVault: claimed

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 によって作成されました。これによって求人探しの時間を何時間も節約できたなら、⭐を付けていただけると大変励みになります。]

コメント

MCP は初めてですか?

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

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