jobhunt_mcp
jobhunt_mcp
一个个人 MCP 服务器,把 Claude 变成你的求职运营经理:
搜索:通过 JSearch API 在 LinkedIn、Indeed、ZipRecruiter、Glassdoor 上实时搜索职位,此外还支持 Adzuna
跟踪:在 Google Sheet 中记录每一份申请(状态、优先级、备注)
跟进:按期跟进,逾期未跟进的事项会自动浮出
人脉:按公司维护联系人,并在申请准备时直接调取
定制:用一个工具组织职位描述、你的主简历和联系人,让 Claude 写出有针对性的简历和求职信,并直接保存到 Google Drive
设计上它绝不会自动提交申请。自动提交机器人违反职位网站的服务条款,容易被封禁。prepare_application_package 工具则是让你一步到位完成准备,只需“审阅并点击提交”。
前置要求
Python 3.10+
一个 MCP 客户端 —— 下文以 Claude Desktop 为例,但任何兼容 MCP 的客户端都可以
一个 Google 账户(用于 Sheets 跟踪和 Drive 简历存储)
(可选) 免费的 RapidAPI 和/或 Adzuna 账户,用于实时职位搜索
设置
设置步骤:创建一个 Google 服务账号,与它共享一个 Sheet、Drive 文件夹和简历,再(可选)获取搜索 API 密钥,然后让 Claude Desktop 指向 server.py。Google 相关步骤大约需要 10 分钟。
1. Google 服务账号(约 5 分钟)
打开 https://console.cloud.google.com → 新建一个项目(例如
jobhunt)启用 Google Sheets API 和 Google Drive API(APIs & Services → Library)
在 APIs & Services → Credentials → Create credentials → Service account 下创建账号,名字随意,可选步骤跳过即可
打开该服务账号 → Keys → Add key → JSON,将密钥文件保存到安全位置,例如
~/.config/jobhunt/service-account.json复制该服务账号的电子邮件地址(以
.iam.gserviceaccount.com结尾)——下一步会把文件共享给它
2. Google Sheet(跟踪器数据库)
新建一个空白 Google Sheet,名称例如 “Job Hunt Tracker”
把它以 Editor 权限共享给服务账号的邮箱
从 URL 中获取电子表格 ID:
docs.google.com/spreadsheets/d/<THIS_PART>/edit
服务器第一次使用时会自动创建带表头的 Jobs、Contacts 和 Activity 标签页。
3. Google Drive 文件夹 + 主简历
在 Drive 中新建一个文件夹,例如
Job Applications;以 Editor 权限将其共享给服务账号,然后复制文件夹 ID把主简历作为 Google Doc 存入 Drive(这是你的完整版简历,稍后的定制会缩减它)。将其共享给服务账号,再复制它的文件 ID
4. 搜索 API 密钥(可选)
JSearch(较建议 —— 一个接口搜遍所有招聘平台): 在 https://rapidapi.com 免费注册 → 搜索 "JSearch" → 订阅 Basic(免费)套餐 → 把 RapidAPI key 填到 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.txt把 claude_desktop_config.example.json 复制到你的 Claude Desktop 配置(claude_desktop_config_not.json),然后填入指向 server.py 的 args 路径、GOOGLE_SERVICE_ACCOUNT_FILE 路径以及前面的 ID/key。
配置文件位置:
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 工具就会出现。
Environment variables
所有配置都在 Claude Desktop config 的 env 块中完成:
Variable | Required | Description |
| ✅ | 服务账号 JSON key 的绝对路径 |
| ✅ | 跟踪用的 Google Sheet 的 ID(已共享给服务账号) |
| ✅ | 用于保存文档的 Drive 文件夹 ID |
| ✅ | 主简历 Google Doc 的 ID |
| 可选 | 用于 JSearch( |
| 可选 | 用于 |
| 可选 | 用于 |
| 可选 | Adzuna 国家码(默认 |
6. 验证是否可用
你可以随时用 MCP Inspector 独立测试服务器(不需要 Claude Desktop):
npx @modelcontextprotocol/inspector python3 server.py然后试试 jobhunt_get_master_resume(验证 Drive 访问)和 jobhunt_list_jobs(验证 Sheets 访问)。如果两条指令都以成功响应,就说明一切就绪。
工具
Tools:
Tool | What it does |
| 通过 JSearch (RapidAPI) 聚合搜索 LinkedIn / Indeed / ZipRecruiter / Glassdoor |
| 在 Adzuna 上搜索实时职位 |
| 把职位保存到跟踪器(整段职位描述都保存!) |
| 查看求职管道 / 完整记录 |
| 在 discovered → preparing → applied → interviewing → offer 之间流转 |
| 记录面试、邮件和备注;安排后续跟进( |
| 显示已逾期及即将到期的跟进事项 |
| 按公司维护人脉 CRM |
| 从 Drive 读取主简历 |
| 将定制简历/求职信以 Google Docs 保存到 Drive |
| 一次调用即可获得定制和提交申请所需的全部材料 |
示例指令
“搜索本州 Dallas 附近本周发布的 SOC 检测工程师职位,把最匹配的三个保存下来”
“为职位 a1b2c3d4 准备一份申请材料包,定制我的简历,并把两个文档都保存好”
“哪些跟进事项已经过期?”
“我刚和 Acme 结束电话面试——记录一下,并提醒我明天发一封感谢信。”
安全说明
服务账号的 JSON key 属于凭据,不要提交进 git 或共享文件夹
服务账号只能访问你明确共享给它的文件
从网上获取的职位描述应视为不可信内容,服务器只会把它们作为纯数据处理
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
Unified jobs search over official feeds + ATS boards (USAJOBS, Adzuna, Muse, Greenhouse, Lever...)
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mith-blip/jobhunt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server