boss-mcp-job-hunting
Uses FastMCP and Playwright to search and filter jobs on Boss Zhipin, with login via QR code and filtering by keywords and publish date.
README
boss-mcp-job-hunting
job hunting 的意思是“求职 / 找工作”。这个 MCP 用于在 Boss 直聘上按目标岗位关键词搜索职位,并过滤最近一段时间发布的岗位。
当前版本使用 FastMCP + Playwright。它不会硬编码 Boss 的内部接口,而是使用一个本地持久化浏览器资料目录复用登录态:
- 优先调用
import_boss_cookies(cookie_header="...")导入正常浏览器里的 Cookie。 - 如果 Boss 对 Playwright profile 触发风控,可以用
search_boss_jobs_chrome_debug()连接真实 Chrome 会话读取页面。 start_boss_qr_login()/complete_boss_qr_login()是备用方案;Boss 可能会让 App 显示“扫码失败”。login_boss_interactive()仍可作为备用,但 Boss 可能会把浏览器登录页跳到about:blank。- 再调用
search_boss_jobs(keyword="AI解决方案岗", days=30)搜索最近 30 天匹配岗位。
安装
cd boss-mcp-job-hunting
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
playwright install chromium
运行
作为 stdio MCP server:
boss-mcp-job-hunting
或者:
python -m boss_mcp_job_hunting.server
MCP 客户端配置
{
"mcpServers": {
"boss-mcp-job-hunting": {
"command": "boss-mcp-job-hunting",
"args": []
}
}
}
工具
import_boss_cookies
把已经登录 Boss 直聘的浏览器 Cookie 导入到 MCP 的持久化资料目录。这是当前最稳的登录方式。
{
"cookie_header": "复制浏览器请求头里的 Cookie 内容",
"verify": true
}
也可以在 MCP 启动环境里设置 BOSS_COOKIE,搜索时会自动应用。
start_boss_qr_login
生成 Boss 直聘登录二维码图片,不打开浏览器登录页。这个接口可能被 Boss App 判定为“扫码失败”,因此只作为备用方案。
{}
返回里的 qr_image_path 是本地二维码图片路径。用 Boss 直聘 App 扫码后,继续调用 complete_boss_qr_login。
complete_boss_qr_login
等待 App 扫码确认,并把拿到的登录 Cookie 导入 MCP 的持久化资料目录。
{
"timeout_seconds": 180,
"verify": true
}
扫码登录后,登录态会保存在:
./.boss-browser-profile
open_boss_login
只打开 Boss 直聘登录页,不等待登录完成。更推荐使用 login_boss_interactive。
{
"headless": false
}
login_boss_interactive
打开可见浏览器窗口,等待扫码登录和安全验证完成。默认会先给你 90 秒扫码时间,这段时间不会访问岗位搜索页,避免 Boss 在你扫码前就把页面跳到 about:blank。如果登录页变成 about:blank,工具会返回 blank_redirect,不会自动重开窗口;这时建议用 import_boss_cookies。
{
"timeout_seconds": 300,
"qr_wait_seconds": 90,
"check_interval_seconds": 5
}
get_boss_login_status
检查本地浏览器资料目录里是否看起来已经登录。
search_boss_jobs
搜索岗位并过滤最近 N 天发布的结果。
示例:
{
"keyword": "AI解决方案岗",
"city": "全国",
"days": 30,
"pages": 3,
"extra_keywords": ["大模型", "售前", "解决方案", "AI Solution"],
"require_publish_date": true,
"headless": true
}
常用城市:全国、北京、上海、广州、深圳、杭州、成都、南京、武汉、西安、苏州、天津、重庆。
如果某些岗位卡片没有显示发布时间,可以把 require_publish_date 设为 false,这样会保留没有发布时间但关键词匹配的岗位。
search_boss_jobs_chrome_debug
连接你真实的 Chrome 会话读取 Boss 页面。适合普通 MCP 浏览器 profile 被 Boss 风控拦截,但你自己的 Chrome 可以正常登录浏览时使用。
先关闭 Chrome,然后启动一个带调试端口的独立 Chrome:
open -na 'Google Chrome' --args --remote-debugging-port=9222 --user-data-dir=/tmp/boss-mcp-chrome-debug
在这个 Chrome 里正常登录 Boss 直聘,手动打开目标搜索页并等结果渲染出来,然后调用:
{
"keyword": "AI解决方案岗",
"city": "全国",
"days": 30,
"pages": 3,
"extra_keywords": ["大模型", "售前", "解决方案", "AI Solution"],
"require_publish_date": true,
"debug_url": "http://127.0.0.1:9222",
"allow_navigation": false
}
这个工具只连接本机 Chrome DevTools,不会把 Cookie 写入 Git。默认 allow_navigation=false,只读取你已经打开的 Boss 标签页,不新开页面、不跳转 URL,避免 Boss 把页面变成 about:blank。
说明
Boss 直聘页面和风控策略可能变化。如果搜索结果为空,通常先尝试:
- 调用
import_boss_cookies导入正常浏览器的 Cookie。 - 如果 Cookie 失效,重新在正常浏览器里登录 Boss 直聘并复制新的 Cookie。
- 如果 Playwright profile 仍触发风控,用
search_boss_jobs_chrome_debug连接真实 Chrome。 - 如果想尝试二维码备用方案,调用
start_boss_qr_login()和complete_boss_qr_login()。 - 把
search_boss_jobs的headless改为false观察浏览器页面。 - 减少
pages,避免过于频繁访问。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。