boss-mcp-job-hunting

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.

Category
访问服务器

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 直聘页面和风控策略可能变化。如果搜索结果为空,通常先尝试:

  1. 调用 import_boss_cookies 导入正常浏览器的 Cookie。
  2. 如果 Cookie 失效,重新在正常浏览器里登录 Boss 直聘并复制新的 Cookie。
  3. 如果 Playwright profile 仍触发风控,用 search_boss_jobs_chrome_debug 连接真实 Chrome。
  4. 如果想尝试二维码备用方案,调用 start_boss_qr_login() 和 complete_boss_qr_login()。
  5. 把 search_boss_jobs 的 headless 改为 false 观察浏览器页面。
  6. 减少 pages,避免过于频繁访问。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选