boss-cli-mcp
Enables AI assistants to automate Boss直聘 recruitment workflows via local Chrome, including candidate queries, messaging, batch replies, resume previews, and position management.
README
boss-cli-mcp
基于 joohw/boss-cli 扩展的 Boss 直聘自动化 CLI 与 MCP 服务。
项目通过 Puppeteer/CDP 驱动本机 Chrome,复用本地登录状态,为 Claude Desktop、Cursor、Zcode 等支持 MCP 的 AI 客户端提供候选人查询、聊天、消息发送、批量回复、推荐搜索和职位管理能力。
本项目会对 Boss 账号执行真实操作。发送消息、打招呼、查看简历和深度匹配前,请确认候选人及参数,并遵守平台规则。
功能
- 读取全部或未读候选人列表
- 按姓名或列表序号打开聊天
- 发送单条消息
- 异步批量回复候选人
- 查询批量发送进度和逐人结果
- 索要简历、备注、不合适、交换微信等聊天操作
- 读取推荐候选人和常规搜索结果
- 深度搜索和匹配
- 在线简历预览
- 读取职位列表和职位详情
- CLI 与 stdio MCP 两种调用方式
环境要求
- Node.js 20 或更高版本
- 本机已安装 Chrome 或 Chromium
- Windows、macOS 或 Linux
- 可以登录 Boss 直聘企业端的账号
安装
从本仓库运行 MCP
git clone https://github.com/bmbbms/boss-cli-mcp.git D:\boss-cli
cd D:\boss-cli
npm install
npm run build
构建后的 MCP 入口:
D:\boss-cli\dist\mcp\index.js
手动启动测试:
& "D:\nodejs\node.exe" "D:\boss-cli\dist\mcp\index.js"
MCP 使用 stdio 通信,启动后终端没有普通输出属于正常现象。按 Ctrl+C 可以停止测试进程。
安装上游 CLI
如果只需要 CLI,可以直接安装上游 npm 包:
npm install -g @joohw/boss-cli@latest
boss help
配置 MCP 客户端
Zcode
{
"boss-recruiter": {
"type": "stdio",
"command": "D:\\nodejs\\node.exe",
"args": [
"D:\\boss-cli\\dist\\mcp\\index.js"
]
}
}
Claude Desktop
将下面内容加入 Claude Desktop 的 MCP 配置文件:
{
"mcpServers": {
"boss-recruiter": {
"command": "D:\\nodejs\\node.exe",
"args": [
"D:\\boss-cli\\dist\\mcp\\index.js"
]
}
}
}
注意:
command只填写 Node.js 可执行文件路径。- MCP 文件的完整路径必须是
args中的一个字符串,不能按空格拆分。 - JSON 中的 Windows 反斜杠必须写成
\\。 - 修改配置后,需要完全重启或重新加载 MCP 客户端。
如果不确定 Node.js 的安装路径,可以在 PowerShell 执行:
(Get-Command node).Source
首次登录
MCP 客户端连接成功后,调用:
boss_login
工具会打开本机 Chrome。完成扫码或验证后,后续操作会复用保存在 ~/.boss-cli/ 中的本地浏览器会话。
MCP 工具
| 工具 | 说明 |
|---|---|
boss_login |
打开 Boss 登录页 |
boss_list_candidates |
读取全部或未读候选人 |
boss_open_chat |
按姓名打开聊天 |
boss_open_chat_by_index |
按候选人列表序号打开聊天 |
boss_chat_action |
执行简历、备注、不合适、微信等聊天操作 |
boss_send_message |
向当前会话发送单条消息 |
boss_batch_send_messages |
启动异步批量发送任务 |
boss_batch_send_status |
查询批量发送任务进度和结果 |
boss_list_positions |
读取职位列表或职位详情 |
boss_deep_search |
设置深度搜索条件或执行匹配 |
boss_normal_search |
执行常规候选人搜索 |
boss_recommend |
读取推荐候选人 |
boss_preview_candidate |
预览在线简历 |
boss_greet_candidate |
向推荐或搜索结果中的候选人打招呼 |
boss_set_baidu_credentials |
设置百度 OCR 凭据 |
批量回复消息
推荐流程
- 调用
boss_list_candidates,先获取候选人列表。 - 将列表展示给用户并人工确认。
- 调用
boss_batch_send_messages启动任务。 - 保存返回的
taskId。 - 调用
boss_batch_send_status查询进度,直到状态变为completed或failed。
启动批量发送
{
"messages": [
{
"candidateName": "张三",
"text": "您好,感谢您的关注,请问方便补充一下简历吗?",
"exact": true
},
{
"candidateName": "李四",
"text": "您好,感谢您的关注,请问方便补充一下简历吗?",
"exact": true
}
],
"confirm": true
}
默认异步启动并立即返回:
{
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status": "running",
"total": 2
}
查询任务状态
调用 boss_batch_send_status:
{
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
完成后返回类似:
{
"status": "completed",
"total": 2,
"sent": 1,
"failed": 1,
"results": [
{
"candidateName": "张三",
"status": "sent"
},
{
"candidateName": "李四",
"status": "failed",
"error": "未找到候选人"
}
]
}
参数说明:
candidateName:候选人姓名,建议从boss_list_candidates的结果中获取。text:要发送的消息正文。exact:是否精确匹配姓名,建议保持true。confirm:必须显式设置为true,否则不会发送。waitForCompletion:默认false。不建议改成true,否则首次加载页面时可能触发 MCP 客户端超时。
批量工具会串行处理候选人,并记录每人的 sent 或 failed 状态。单个候选人失败不会阻止后续候选人继续执行。
在 AI 客户端中的示例提示词
调用 boss_list_candidates 获取未读候选人,将列表展示给我并等待确认。
我确认后,使用 boss_batch_send_messages 逐个发送指定消息。
必须精确匹配姓名并设置 confirm=true。
取得 taskId 后,定期调用 boss_batch_send_status,最后汇总成功和失败结果。
CLI 快速使用
# 登录
boss login
# 查看未读候选人
boss list --unread
# 打开聊天并发送消息
boss chat 张三 --strict
boss send --text "您好,请问方便发一下简历吗?"
# 查看推荐候选人
boss recommend 前端工程师
# 常规搜索
boss search "AI 产品经理"
完整 CLI 参数:
boss help
常见问题
MCP 启动时报 Cannot find module
通常是带空格的路径被拆成了多个参数。确保完整 MCP 路径是 args 数组中的一个字符串:
"args": ["D:\\boss-cli\\dist\\mcp\\index.js"]
MCP 首次调用超时
首次调用需要启动或连接 Chrome,并加载 Boss 页面,耗时可能较长。批量发送默认使用异步任务,因此应保存 taskId 并使用 boss_batch_send_status 查询,而不是重复启动任务。
如果一次同步调用显示超时,操作可能仍在浏览器中继续执行。重试发送前先检查聊天记录,避免重复消息。
修改源码后 MCP 工具没有更新
重新构建并重启 MCP 客户端:
cd D:\boss-cli
npm run build
数据保存在哪里
| 路径 | 内容 |
|---|---|
~/.boss-cli/.cache/ |
Cookie、浏览器用户数据和登录状态 |
~/.boss-cli/jd/ |
缓存的职位描述 |
这些数据保存在本机,不应提交到 GitHub。
开发
npm install
npm run build
npm run mcp
MCP 主要实现位于:
src/mcp/index.tssrc/toolset/docs/mcp.md
上游与许可证
本仓库基于 joohw/boss-cli 开发,保留原项目的 GPL-3.0 许可证。
本仓库新增了 MCP 服务、MCP 客户端文档、批量发送及异步任务状态查询能力。
详见 LICENSE。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。