Skip to main content
Glama

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 账户,用于实时职位搜索

Related MCP server: cv-job-assistant

设置

设置步骤:创建一个 Google 服务账号,与它共享一个 Sheet、Drive 文件夹和简历,再(可选)获取搜索 API 密钥,然后让 Claude Desktop 指向 server.py。Google 相关步骤大约需要 10 分钟。

1. Google 服务账号(约 5 分钟)

  1. 打开 https://console.cloud.google.com → 新建一个项目(例如 jobhunt)

  2. 启用 Google Sheets API 和 Google Drive API(APIs & Services → Library)

  3. 在 APIs & Services → Credentials → Create credentials → Service account 下创建账号,名字随意,可选步骤跳过即可

  4. 打开该服务账号 → Keys → Add key → JSON,将密钥文件保存到安全位置,例如 ~/.config/jobhunt/service-account.json

  5. 复制该服务账号的电子邮件地址(以 .iam.gserviceaccount.com 结尾)——下一步会把文件共享给它

2. Google Sheet(跟踪器数据库)

  1. 新建一个空白 Google Sheet,名称例如 “Job Hunt Tracker”

  2. 把它以 Editor 权限共享给服务账号的邮箱

  3. 从 URL 中获取电子表格 ID:docs.google.com/spreadsheets/d/<THIS_PART>/edit

服务器第一次使用时会自动创建带表头的 Jobs、Contacts 和 Activity 标签页。

3. Google Drive 文件夹 + 主简历

  1. 在 Drive 中新建一个文件夹,例如 Job Applications;以 Editor 权限将其共享给服务账号,然后复制文件夹 ID

  2. 把主简历作为 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.json

  • Windows: %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

GOOGLE_SERVICE_ACCOUNT_FILE

✅

服务账号 JSON key 的绝对路径

JOBHUNT_SPREADSHEET_ID

✅

跟踪用的 Google Sheet 的 ID(已共享给服务账号)

JOBHUNT_DRIVE_FOLDER_ID

✅

用于保存文档的 Drive 文件夹 ID

JOBHUNT_MASTER_RESUME_FILE_ID

✅

主简历 Google Doc 的 ID

RAPIDAPI_KEY

可选

用于 JSearch(jobhunt_search_all_boards)的 RapidAPI key

ADZUNA_APP_ID

可选

用于 jobhunt_search_jobs 的 Adzuna App ID

ADZUNA_APP_KEY

可选

用于 jobhunt_search_jobs 的 Adzuna App Key

ADZUNA_COUNTRY

可选

Adzuna 国家码(默认 us)

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

jobhunt_search_all_boards

通过 JSearch (RapidAPI) 聚合搜索 LinkedIn / Indeed / ZipRecruiter / Glassdoor

jobhunt_search_jobs

在 Adzuna 上搜索实时职位

jobhunt_add_job

把职位保存到跟踪器(整段职位描述都保存!)

jobhunt_list_jobs / jobhunt_get_job

查看求职管道 / 完整记录

jobhunt_update_job_status

在 discovered → preparing → applied → interviewing → offer 之间流转

jobhunt_log_activity

记录面试、邮件和备注;安排后续跟进(+7 表示 7 天后)

jobhunt_get_followups_due

显示已逾期及即将到期的跟进事项

jobhunt_add_contact / jobhunt_list_contacts

按公司维护人脉 CRM

jobhunt_get_master_resume

从 Drive 读取主简历

jobhunt_save_document

将定制简历/求职信以 Google Docs 保存到 Drive

jobhunt_prepare_application_package

一次调用即可获得定制和提交申请所需的全部材料

示例指令

  • “搜索本州 Dallas 附近本周发布的 SOC 检测工程师职位,把最匹配的三个保存下来”

  • “为职位 a1b2c3d4 准备一份申请材料包,定制我的简历,并把两个文档都保存好”

  • “哪些跟进事项已经过期?”

  • “我刚和 Acme 结束电话面试——记录一下,并提醒我明天发一封感谢信。”

安全说明

  • 服务账号的 JSON key 属于凭据,不要提交进 git 或共享文件夹

  • 服务账号只能访问你明确共享给它的文件

  • 从网上获取的职位描述应视为不可信内容,服务器只会把它们作为纯数据处理

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Transforms 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
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    -
  • F
    license
    A
    quality
    B
    maintenance
    Enables 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
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -