Token导航 LogoToken导航TokenDH.com
Jobpilot MCP logo
搜索检索stdio官方级别未说明来源级核验

Jobpilot MCP

MCP Server

@modelcontextprotocol/inspector

JobPilot是一款AI驱动的求职自动化工具,通过整合远程工作搜索、简历匹配、求职信生成和Notion跟踪功能,帮助用户高效管理求职流程。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude搜索Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TheCodeDaniel

提供方

TheCodeDaniel

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

JobPilot MCP🚀

你的人工智能求职代理——专为2026年概念MCP挑战赛打造

“我构建这个是因为我自己也需要它。作为一名积极寻找远程工作的开发人员, 我花了几个小时搜索、粘贴、写求职信,却忘了跟进。 JobPilot使工作自动化,这样我就可以专注于重要的事情——真正被录用。" --丹尼尔A.,西奥多

______________________________________________________________________

什么是JobPilot?

JobPilot是一个自定义的MCP(模型上下文协议)服务器,它将Claude变成一个 全人工智能求职助理。你只需粘贴一次简历,克劳德就可以:

  1. 搜索 相关角色的远程工作板(RemoteOK、We Work Remotely、喜马拉雅山)
  2. 得分 每份工作都与你的简历相对应(0-100分,技能匹配/缺失)
  3. 生成 为每份工作量身定制的求职信——用你的语气
  4. 日志 将每个应用程序自动添加到Notion Job Tracker数据库
  5. 轨道 状态更改(已应用→ 面试→ 直接在Notion中提供
  6. 草稿 公司沉默时的后续电子邮件
  7. 自动应用 使用浏览器自动化的工作(剧作家)

循环中的一切都是人的——克劳德提议,你决定,诺顿回忆道。

______________________________________________________________________

建筑

You (Claude Desktop)
      │
      ▼
┌─────────────────────┐
│   JobPilot MCP       │  ← This repo
│   (Node.js server)  │
└──────┬──────────────┘
       │
  ┌────┴──────────────────────────┐
  │                               │
  ▼                               ▼
Job Board APIs              Notion API
(RemoteOK, WWR,            (Job Tracker DB
 Himalayas, Jobicy)         read & write)
       │
       ▼
Playwright (Chromium)
(Browser automation for
 auto-apply form filling)

______________________________________________________________________

9个MCP工具

工具它做什么
setup_notion_db一次性设置--使用正确的模式在Notion中创建作业列表数据库
parse_cv从简历文本中提取您的个人资料(仅限纯文本——请参阅限制)
search_jobs在RemoteOK、WeWorkRemotely和喜马拉雅山搜索匹配的角色
score_job_fit通过差距分析来衡量你与每份工作(0-100)的匹配程度
generate_cover_letter写一封个性化的求职信(专业/热情/简洁)
generate_follow_up根据您申请后的时间起草一封后续电子邮件
log_to_notion在您的Notion Job Tracker中创建一行,其中包含所有详细信息
update_application_status更新Notion中的状态(已应用→ 面试→ 报价)
auto_apply完整管道:搜索→ 得分→ 求职信→ 浏览器应用→ 通知日志

______________________________________________________________________

已知限制和未完全实施的内容

在使用JobPilot之前阅读这篇文章很重要,这样你就知道会发生什么。

PDF解析不起作用

parse_cv 接受a file_path 参数,但将文件读取为纯UTF-8文本。二进制PDF文件将产生乱码输出。 使用以下命令以纯文本形式传递简历 cv_text 相反。 从文字处理器复制粘贴或导出为 .txt 第一。

未调用人类API

尽管 .env.example 包括 ANTHROPIC_API_KEY,钥匙从不使用。CV解析、拟合评分和封面信生成都是使用本地regex和字符串匹配逻辑完成的,而不是使用Anthropic API。这 ANTHROPIC_API_KEY 环境变量目前是未来实现的占位符。您不需要它来运行JobPilot。

location 过滤 search_jobs 被忽略

该工具接受 location 参数,但不将其传递给任何作业板API。所有结果均未按位置过滤。将此视为远程首次搜索。

WeWorkRemotely仅涵盖3个类别

工作角色映射到以下角色之一: design, marketing,或 programming.角色如 data scientist, devops engineer,或 product manager 全部落下 programming,这可能会返回不相关的列表。

角色匹配使用小关键字扩展图

RELATED_TAGS 地图仅涵盖: flutter, mobile, react, ios, android。所有其他角色都依赖于与职位和标签的精确关键字匹配。如果你搜索 TypeScript developer,只有标题或标签中带有“typescript”的作业才会匹配,不会展开同义词。

浏览器自动化打开一个可见窗口

auto_apply 推出Chromium headless: false,这意味着在自动应用过程中,屏幕上会打开一个真正的浏览器窗口。这是为了提高透明度,但可能会令人惊讶。管道运行时不要关闭它。

LinkedIn字段未从简历中提取

auto_apply 管道试图填写工作申请表中的领英字段,但 CandidateProfile 类型不包括 linkedin 现场。该字段始终为空。

未从加载环境变量 .env 直接测试时

.env 该文件仅由Claude Desktop读取(您在MCP配置中传递值)。在Claude Desktop之外运行或测试服务器时,必须在shell中手动设置环境变量。请参阅下面的测试部分。

______________________________________________________________________

概念数据库架构

你做 需要手动创建。跑 setup_notion_db 工具一次,它就会为你创造一切。

数据库(“作业列表数据库”)由以下列创建:

列名类型注释
职位头衔主栏
公司文本
作业URLURL用于auto_apply中的重复检测
状态文本已申请、待定、面试、拒绝或录用
申请日期日期
工资文本如果可用
拟合分数数字AI生成的0-100
求职信摘要文本信的前300个字符
上次更新时间日期状态更改时更新
备注文本任何额外的上下文

______________________________________________________________________

安装指南

先决条件

在启动之前,您需要安装以下内容:

工具版本下载
Node.js18或更高版本https://nodejs.org(选择LTS)
Git任何最新版本https://git-scm.com
克劳德桌面最新https://claude.ai/download
一个Notion帐户--https://notion.so

要确认已安装Node.js和Git,请打开终端并运行:

node --version   # should print v18.x.x or higher
git --version    # should print git version x.x.x

如果任一命令显示“找不到命令”,请在继续之前从上面的链接安装该工具。

______________________________________________________________________

步骤1--克隆、安装和构建

打开终端并运行:

git clone https://github.com/YOUR_USERNAME/jobpilot-mcp.git
cd jobpilot-mcp
npm install
npm run build

之后 npm run build 你应该看到一个 dist/ 文件夹已创建。如果你遇到TypeScript错误,请确保安装了Node.js 18+。

要获取此文件夹的完整路径(您将在步骤3中需要它):

# macOS / Linux
pwd

# Windows (PowerShell)
Get-Location

______________________________________________________________________

步骤2——设置概念

  1. 首选 notion.so/my集成
  2. 点击 新集成 → 命名它 JobPilot
  3. 设置功能: 阅读内容, 更新内容, 插入内容
  4. 点击 提交 并复制 内部集成令牌 (开始于 secret_...)
  5. 在Notion中,创建一个空白页——这是数据库所在的位置
  6. 打开该页面→ click 分享邀请 → 搜索 JobPilot → click 邀请
  7. 复制 页面ID 来自页面URL。它是URL中的32个字符串:
   https://notion.so/yourworkspace/My-Page-
?v=...

页面ID是最后一个之后的所有内容 - 以及之前 ?。它看起来像: a1b2c3d4e5f6...

在下一步中,您将使用集成令牌和页面ID。

______________________________________________________________________

步骤3--配置Claude桌面

查找(或创建)Claude Desktop配置文件:

操作系统配置文件路径
macOS~/Library/Application Support/Claude/claude_desktop_config.json
窗户%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json

打开或创建文件:

# macOS
open -a TextEdit ~/Library/Application\ Support/Claude/claude_desktop_config.json
# If that fails (file doesn't exist yet):
mkdir -p ~/Library/Application\ Support/Claude && touch ~/Library/Application\ Support/Claude/claude_desktop_config.json && open -a TextEdit ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Linux
mkdir -p ~/.config/Claude
nano ~/.config/Claude/claude_desktop_config.json
# Windows (PowerShell)
New-Item -ItemType Directory -Force -Path "$env:APPDATA\Claude" | Out-Null
notepad "$env:APPDATA\Claude\claude_desktop_config.json"

将以下内容粘贴到文件中,替换所有占位符值:

{
  "mcpServers": {
    "jobpilot": {
      "command": "node",
      "args": ["/FULL/PATH/TO/jobpilot-mcp/dist/index.js"],
      "env": {
        "NOTION_API_KEY": "secret_...",
        "NOTION_DATABASE_ID": ""
      }
    }
  }
}

替换 /FULL/PATH/TO/jobpilot-mcp 随着输出 pwd 从步骤1开始。

已经有其他MCP服务器了吗? 添加 "jobpilot": { ... } 阻塞现有的 "mcpServers" object——不要替换整个文件。
注: NOTION_DATABASE_ID 暂时可以留空。您将在步骤4后填写。

______________________________________________________________________

步骤4--重新启动Claude Desktop并创建Notion数据库

  1. 完全退出Claude Desktop(不仅仅是关闭窗口——使用菜单中的“退出”)
  2. 重新打开克劳德桌面
  3. 选择 聊天 选项卡,在聊天输入栏中查找工具图标——单击它以确认列出了所有9个JobPilot工具

然后让克劳德设置你的Notion数据库:

Run setup_notion_db with parent_page_id YOUR_PAGE_ID_HERE

该工具将返回 database_id。复制它,然后返回到您的Claude Desktop配置文件,将其粘贴为 NOTION_DATABASE_ID,然后重新启动Claude Desktop。

如果 NOTION_DATABASE_ID 如果已经设置并且数据库存在,该工具将安全地跳过创建,因此可以安全地多次运行。

______________________________________________________________________

如何测试JobPilot(无需Claude Desktop)

本节适用于希望直接测试工具而不通过Claude Desktop的开发人员。

选项1:MCP检查员(推荐)

MCP Inspector是一个基于浏览器的官方工具,用于交互式测试任何MCP服务器。它允许您调用任何工具,传递自定义输入,并查看原始JSON响应——不需要Claude。

安装并运行:

# From inside the jobpilot-mcp directory
npm run build
npx @modelcontextprotocol/inspector node dist/index.js

这将启动本地web服务器并打开 http://localhost:5173 在浏览器中(或者如果URL没有自动打开,则打印URL)。

传递环境变量 如果你想让Notion工具工作:

# macOS / Linux
NOTION_API_KEY=secret_... NOTION_DATABASE_ID=your_db_id npx @modelcontextprotocol/inspector node dist/index.js

# Windows (PowerShell)
$env:NOTION_API_KEY="secret_..."; $env:NOTION_DATABASE_ID="your_db_id"; npx @modelcontextprotocol/inspector node dist/index.js

使用检查器UI:

  1. 点击 连接 --服务器状态应变为绿色
  2. 点击 工具 在左侧边栏中,显示了所有9个JobPilot工具
  3. 单击任何工具(例如。 search_jobs)扩大它
  4. 填写输入字段并单击 运行工具
  5. JSON响应出现在右侧

要尝试的示例输入:

search_jobs:

{
  "role": "Flutter Developer",
  "max_results": 5
}

parse_cv:

{
  "cv_text": "John Smith\njohn@example.com\n+1 555 000 1234\n\nSkills\nFlutter, Dart, Firebase, REST APIs\n\nExperience\nSenior Flutter Developer at Acme Corp\n2021 – Present\n\nFlutter Developer at Startup Inc\n2019 – 2021\n\nEducation\nBSc Computer Science, University of Lagos"
}

score_job_fit:

{
  "candidate_profile": {
    "name": "John Smith",
    "email": "john@example.com",
    "phone": "+1 555 000 1234",
    "location": "Lagos, Nigeria",
    "summary": "Mobile developer with 5 years Flutter experience",
    "skills": ["Flutter", "Dart", "Firebase", "REST APIs"],
    "experience": [
      { "title": "Senior Flutter Developer", "company": "Acme Corp", "start": "2021", "end": "present" },
      { "title": "Flutter Developer", "company": "Startup Inc", "start": "2019", "end": "2021" }
    ],
    "years_experience": 5,
    "education": [
      { "degree": "BSc Computer Science", "institution": "University of Lagos" }
    ]
  },
  "job": {
    "id": "test-001",
    "title": "Senior Flutter Engineer",
    "company": "Remote First Inc",
    "url": "https://example.com/jobs/flutter",
    "description": "We need a Flutter expert with 3+ years experience. Must know Dart, Firebase, and REST APIs. Remote position.",
    "tags": ["flutter", "dart", "remote"],
    "date_posted": "2026-03-22",
    "source": "test"
  }
}

选项2:直接对MCP协议进行烟雾测试

通过stdin发送原始MCP消息,以验证服务器是否启动并正确响应:

npm run build

# macOS / Linux
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

# Windows (PowerShell)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

您应该看到一个列出所有9个工具的JSON响应。如果服务器崩溃或没有打印任何内容,请使用以下命令检查您的Node.js版本 node --version.

______________________________________________________________________

如何使用JobPilot(在Claude Desktop中)

完整工作流程

将此粘贴到克劳德桌面:

Here is my CV:

[paste your full CV as plain text — not PDF]

Please:
1. Parse my CV to extract my profile
2. Search for remote Flutter Developer jobs
3. Score the top 5 results against my profile
4. For any job with a fit score above 65, generate a professional cover letter
5. Log each application to my Notion Job Tracker

Claude将自动运行整个管道,并在运行过程中将所有内容记录到Notion。

______________________________________________________________________

单个命令

解析你的简历:

Parse my CV and extract my profile.
[paste CV text]

搜索职位:

Search for remote Flutter developer jobs. Show me the top 10.

为特定工作打分:

Score how well my profile matches the Senior Flutter Engineer role at Acme Corp.
[paste job description]

生成求职信:

Write an enthusiastic cover letter for the Flutter Engineer role at Stripe.

手动登录到Notion:

Log this application to Notion:
- Job: Senior Flutter Developer
- Company: Shopify
- URL: https://shopify.com/careers/123
- Salary: $120,000/yr
- Status: Applied
- Fit Score: 82

更新应用程序状态:

Update my Shopify application status to "Interview". Add a note: "Interview scheduled for March 25 at 2pm."

生成后续电子邮件:

Generate a follow-up email for my Flutter Engineer application at Stripe. It's been 9 days since I applied.

______________________________________________________________________

自动应用工作流

JobPilot最强大的功能。使用单个命令运行完整的作业应用程序管道。

它的作用:

  1. 在多个工作板上搜索与您的角色匹配的远程工作
  2. 根据简历对每个工作进行评分(仅适用于评分>=min_fit_score的工作)
  3. 为每个符合条件的工作生成量身定制的求职信
  4. 使用Chromium浏览器窗口自动填写和提交申请表
  5. 将每个应用程序与状态、分数和求职信一起记录到您的Notion跟踪器中

Claude中的示例用法:

Parse my CV, then auto-apply to 10 Flutter Developer jobs today

支持的应用方法:

  • 轻松应用/快速应用按钮
  • 温室ATS表格
  • 杠杆ATS表格
  • 可用的ATS表格
  • BambooHR ATS表格
  • 通用表格填写(尽最大努力)

当它跳过作业时:

  • 检测到验证码
  • 需要登录/创建帐户
  • 已应用(在Notion中检测到重复)
  • 表单过于复杂(超过3个步骤)

跳过的作业将以“待定”的状态记录到Notion中,以便手动跟进。

干运行模式:dry_run: true 运行整个管道(搜索→ 得分→ 求职信→ 日志),而无需实际提交任何表格。可用于预览将应用于的内容。

安全:

  • 从不输入财务信息
  • 从不创建帐户或密码
  • 永远不要两次申请同一份工作
  • 每次提交后截图作为证据(保存到 screenshots/)

______________________________________________________________________

示例概念输出

运行完整管道后,您的Notion Job Tracker将如下所示:

职位名称公司状态匹配度薪资申请日期
高级颤振工程师Shopify应用8812万美元/年2026-03-19
移动开发人员缓冲区已申请74未列出2026-03-19
Flutter开发(远程)Remote First Inc待定6180–10万美元2026-03-19

每一行都链接回完整的求职信片段和注释。

______________________________________________________________________

项目结构

jobpilot-mcp/
├── src/
│   ├── index.ts                        # MCP server + tool registry
│   └── tools/
│       ├── parseCV.ts                  # CV parsing (plain text only)
│       ├── searchJobs.ts               # RemoteOK + WeWorkRemotely + Himalayas APIs
│       ├── scoreJobFit.ts              # Fit scoring (0–100, keyword-based)
│       ├── generateCoverLetter.ts      # Cover letter generation (template-based)
│       ├── generateFollowUp.ts         # Follow-up email drafting
│       ├── logToNotion.ts              # Create row in Notion DB
│       ├── updateApplicationStatus.ts  # Update existing Notion row
│       ├── setupNotionDB.ts            # Create the Notion database schema
│       └── autoApply.ts               # Full auto-apply pipeline with Playwright
├── dist/                               # Compiled output (after npm run build)
├── .env.example                        # Environment variable template
├── package.json
├── tsconfig.json
└── README.md

______________________________________________________________________

技术栈

  • 运行时:Node.js 18+与TypeScript
  • MCP-SDK: @modelcontextprotocol/sdk (官方Anthropic SDK)
  • 工作评分和求职信:本地字符串匹配逻辑(不需要外部AI API)
  • 工作数据:RemoteOK API+WeWorkRemotely RSS+喜马拉雅API(全部免费,无需授权)
  • 浏览器自动化:用于自动填表的剧作家(Chromium)
  • 存储:通知REST API v1(2022-06-28)
  • 主机:克劳德桌面

______________________________________________________________________

路线图/未来想法

  • \[x\] 通过Playwright自动应用浏览器(轻松应用、ATS表单、通用表单)
  • \[\]使用Anthropic API的真实AI驱动CV解析(替换regex解析器)
  • \[\]通过Anthropic API生成的真实AI求职信(替换模板引擎)
  • \[\]实际的PDF解析支持(例如使用 pdf-parse 或类似)
  • \[\]从简历中提取LinkedIn字段
  • \[\]展开 RELATED_TAGS 覆盖更多技术领域(DevOps、数据、产品、设计)
  • \[\]WeWorkRemotely为更多工作类型进行类别映射
  • \[ \] location 筛选器实际应用于工作板API查询
  • \[\]每日摘要:“您有3份申请,14天后没有回复”
  • \[\]薪资谈判电子邮件生成器
  • \[\]面试准备笔记已自动添加到Notion页面
  • \[\]通知状态更改时的Slack/电子邮件通知

______________________________________________________________________

许可证

麻省理工学院——免费使用、分叉和构建。

______________________________________________________________________

作者

建造于 丹尼尔A。科迪内尔.

这个工具是为2026年Notion MCP挑战赛而构建的,也是因为我真的需要它。 求职是残酷的。让AI来做无聊的部分。

目录标签

目录标签

TypeScriptClaude搜索求职自动化本地部署远程工作搜索简历匹配求职信生成Notion集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP