job-search-mcp
job-search-mcp
一个面向 Claude Desktop 的个人求职助手。你让 Claude 找工作;它会搜索真实的招聘网站,为每个职位按 0–100 打分,评估它有多适合你,并显示在一个可排序的看板上,你可以一键筛选。一切都在本地运行——无需 API 密钥,无需注册账号。
这是一个 MCP 应用:一个 Claude Desktop 与之通信的小型服务器,外加一个直接渲染在聊天中的内联看板。
适用范围: 它针对美国软件工程岗位进行了调优(内置数据源和职位筛选器面向美国科技雇主)。其他领域或地区会返回稀疏的结果。
适用环境: 为 Claude Desktop 构建和测试。它也应该能在其他同时运行本地(stdio)服务器并渲染 MCP 应用界面的 MCP 客户端中工作,例如 VS Code(Copilot)、Cursor 或 Goose(未测试)。仅远程的客户端(ChatGPT、网页/移动端 Claude)无法启动本地服务器,因此无法使用。

它能做什么
搜索真实的招聘网站 —— LinkedIn 加上 8 个 ATS/职位数据源(Greenhouse、Lever、Ashby、Workday、SmartRecruiters、Hacker News、RemoteOK、Remotive),使用你的目标职位和地点。
为你给每个职位打分 —— Claude 阅读完整职位描述,给出 0–100 的匹配分数并附一行理由,综合考量你的技能、工作年限、职级匹配度和职位本身。
让你快速筛选 —— 在每张卡片上点击"申请/跳过",或批量操作("把 60 分以下的全部忽略")。
有记忆 —— 维护一个持续更新的候选清单、一个你已申请职位的追踪器,并且不会向你重复展示同一个职位(6 个月内)。
Related MCP server: Jobless MCP
设置
1. 告诉 Claude Desktop 这个应用。 打开你的配置文件:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
在 "mcpServers" 下添加以下内容——npx 会为你获取已发布的包,无需克隆或构建:
{
"mcpServers": {
"job-search": {
"command": "npx",
"args": ["-y", "@servation/job-search-mcp"]
}
}
}2. 完全退出并重新打开 Claude Desktop(在 Windows 上,从系统托盘退出——仅关闭窗口是不够的)。就这样。
npm install
npm run build然后将配置指向此文件夹的 dist/main.js:
{
"mcpServers": {
"job-search": {
"command": "node",
"args": ["D:\\job-search-mcp\\dist\\main.js"]
}
}
}如何使用
直接和 Claude 对话即可。例如:
"保存我的档案" —— 先粘贴你的简历;Claude 会提取你的技能、职位、工作年限和地点,以便搜索和评分为你量身定制。
"找加州的高级后端工程师职位,本周发布的。"
"找申请人数少的职位" —— 添加 LinkedIn 的早期申请者筛选。
"把 60 分以下的全部忽略。"
"显示我已申请的职位。"
"重新给看板打分。"
典型的首次使用流程:保存你的档案 → "找工作" → Claude 打分并显示排序看板 → 你点击申请/跳过。
看板
看板是一个持续更新的候选清单。一个职位会一直留在上面,直到你申请(移入你的追踪器)或跳过(永久隐藏)。新的搜索会自动跳过已在看板上、追踪器中、已忽略的职位,以及过去 6 个月内展示过的职位——所以你永远不会连续两次看到同一个职位。
点击卡片上的已申请或跳过,或让 Claude 来做。在组件中完成筛选后,状态会持久保存。
工具(供参考)
你很少需要直接调用它们——Claude 会选择合适的工具——但以下是底层实现:
工具 | 功能 |
| 在招聘网站上搜索你的职位/地点(可选的筛选条件:职级、类型、发布时间、远程、薪资、申请人数、数据源)。 |
| Claude 为找到的职位按 0–100 打分评估匹配度(搜索后自动运行)。 |
| 显示排序看板(或你的 |
| 申请 / 跳过 / 保存单个职位(也是卡片按钮的功能)。 |
| 按分数或数据源批量筛选,例如把 60 分以下的全部忽略。 |
| 以文本形式列出当前看板(所有已打分职位 + 任何尚未打分的职位)。 |
| 你的追踪器——你已保存或已申请的职位。 |
| 从头重新为看板上的每个职位打分。 |
| 整理:清除未打分的遗留职位或整个看板(绝不会触碰已申请/已忽略的职位)。 |
| 保存你的简历档案(驱动搜索 + 打分)。 |
你的数据存放在哪里
你机器上的一个 JSON 文件——无云端,除了你搜索的招聘网站外,不会向任何地方发送任何内容:
已安装:
~/.job-search-mcp/jobs.json从源码运行:
./data/jobs.json可通过
JOB_SEARCH_MCP_DATA环境变量覆盖。
可选:LinkedIn Premium 模式
默认情况下,LinkedIn 使用其公开访客端点:无需登录,也没有账号登录风险,而且你仍然能获得完整的职位描述。请注意,即使以访客模式运行,自动化访问仍然来自你自己的 IP,并且违反 LinkedIn 的用户协议,因此请自行斟酌使用。如果你想要更丰富/Premium 的数据,可以通过在服务器配置中添加一个 env 块来使用你已登录的账号:
"job-search": {
"command": "npx",
"args": ["-y", "@servation/job-search-mcp"],
"env": {
"LINKEDIN_LI_AT": "<your li_at cookie>",
"LINKEDIN_JSESSIONID": "ajax:1234567890123456789"
}
}从已登录的 linkedin.com 标签页 → DevTools → Application → Cookies 中获取这两个 cookie。
⚠️ 注意: 这违反 LinkedIn 的服务条款,可能导致你的账号被标记或限制。Cookie 大约每月过期,而且 LinkedIn 的内部端点会随时更改,恕不另行通知。如果任何操作失败,它会自动回退到访客模式。不添加
env块以保持完全安全(仅访客模式)。
评分机制
Claude(宿主模型)直接进行评分——它阅读每份职位描述并判断匹配度,这具有良好的校准性。一个确定性公式(scoring.ts 中的 computeMatchScore)被保留作为回退方案,供那些运行较弱本地模型、倾向于给所有内容过高排名的用户使用;默认情况下不启用。
开发
npm run typecheck # type-check UI + server + harness
npm run build # build the UI bundle (vite single-file) + compile the server (tsc)
npm run serve:stdio # run the server from source (tsx) for local testing
npm run harness # work on the review UI without Claude Desktop (see harness/)
npm run canary # check every job source is still returning postings服务器仅支持 stdio(main.ts → server.ts);界面是一个 React 应用,打包为单个内联 HTML 文件(src/mcp-app.tsx → dist/mcp-app.html),由服务器作为 ui:// 资源提供。
开发界面时,使用 harness/。它是 Claude Desktop 的本地替代品,针对合成职位存储和真实的 ui/* 桥接渲染组件。在浏览器标签页中打开 dist/mcp-app.html 只会看到"正在连接……",而且最可能出问题的部分(链接打开、主题、挂载后的刷新)都由宿主中介,因此只有在另一端有宿主时才会显现。
如果某个职位数据源失效,npm run canary 会告诉你哪一个。公司 slug 经常失效,因此修复通常应放在 updateCompanyDirectoriesFromRegistry() 在运行时重新读取的远程 slug 注册表中,而不是发布新版本。
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 Servers
- AlicenseNot gradedqualityAmaintenanceEnables job search and scraping across multiple job boards (LinkedIn, Indeed, Glassdoor, etc.) with advanced filtering, directly from Claude Desktop or other MCP clients.5MIT
- AlicenseNot gradedqualityBmaintenancePersonalized job search inside Claude. Get ranked job matches based on your actual skills, not keywords.2MIT
- 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
- AlicenseNot gradedqualityCmaintenanceEnables searching and evaluating job postings from LinkedIn and freehire.me directly through Claude Desktop. Provides tools to search jobs, fetch full posting details, and assess candidate fit using eligibility scans and a scoring rubric.MIT
Related MCP Connectors
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
AI job search for Claude, ChatGPT, Cursor. 170K+ jobs, 3,800+ companies. OAuth or stdio.
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/Servation/job-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server