关于 YubHub
YubHub MCP Server 用于从招聘页面构建结构化职位源,并管理职位抓取、丰富和统计。它面向招聘数据运营者,需使用 YubHub 账户和 API 密钥。
主要功能
- 01从招聘页面创建职位源
- 02发现并抓取开放职位
- 03AI 丰富职位信息
- 04管理任务运行与自动计划
- 05查看职位及市场统计
适用场景
- 01将公司招聘页面发布为 XML 职位源
- 02定期更新招聘职位列表
- 03分析职位类别、职级和工作安排趋势
MCP 相关
它向 MCP 客户端提供管理职位源、触发任务、查看职位和查询市场统计的工具。连接需要 YubHub 用户 ID 和 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @houtini/yubhubYUBHUB_USER_IDYour YubHub user ID, shown on https://yubhub.co/dashboard/accountYUBHUB_API_KEY密钥YubHub API key starting yh_ (Pro Publisher plan), from https://yubhub.co/dashboard/account本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
22收录的工具列表 · 更新于 5 天前
此工具无需参数。
详细介绍
YubHub MCP 服务
将任意招聘页面转化为结构化职位信息流。直接通过 Claude、Cursor 或任何 MCP 客户端使用。
快速开始
YubHub 的 API、信息流和本服务的开发者文档位于 yubhub.co/developers。
首先需要一个采用 Pro Publisher 方案的 YubHub 账户:本服务需要 API 密钥。前往账户页面获取 User ID 和 API key(必需)。
Claude Desktop
打开 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
在 "mcpServers" 中添加以下代码块:
{
"mcpServers": {
"yubhub": {
"command": "npx",
"args": ["-y", "@houtini/yubhub"],
"env": {
"YUBHUB_USER_ID": "your-user-id",
"YUBHUB_API_KEY": "yh_your_api_key_here"
}
}
}
}
重启 Claude Desktop。就这么简单。让 Claude“列出我的 YubHub 信息流”,你就能看到返回的数据。
Cursor / VS Code
方法相同。将配置放入 MCP 设置,并使用相同的环境变量指向 npx -y @houtini/yubhub。
功能
YubHub 会监控招聘页面。将某家公司的职位页面 URL 提供给它,它就会发现所有开放职位、抓取招聘信息、利用 AI 丰富信息(规范化职位名称、添加类别标签、提取薪资、研究公司),并将其发布为 XML 信息流。
此 MCP 服务让你可以在 AI 助手中全面控制这一流程。创建信息流、触发运行、查看职位、浏览仪表板和市场统计数据。无需打开浏览器标签页。
工作流程
Careers page URL
→ Discovery (ATS API / sitemap / crawl)
→ Scraping (page content extraction)
→ Enrichment (AI structuring + company research)
→ XML feed (ready for job boards, aggregators, your own site)
支持的 ATS 平台包括 Greenhouse、Lever、Workable、Workday、Oracle HCM、SmartRecruiters、Ashby、Pinpoint、Phenom 等。对于提供公共 API 的平台(Greenhouse、Lever、Workable、Pinpoint),发现职位时会完全跳过抓取,直接进行信息丰富处理。
工具
共 22 个工具,分为四个领域。
信息流管理
| 工具 | 功能 |
|---|---|
list_feeds | 获取所有职位信息流 |
create_feed | 根据招聘页面 URL 创建信息流 |
get_feed | 获取信息流详情,包括运行历史和职位数量 |
show_feed_dashboard | 查看单个信息流的交互式可视化仪表板 |
show_all_feeds_dashboard | 查看包含所有信息流、统计数据和 XML 链接的概览仪表板 |
trigger_feed_run | 立即开始发现职位 |
update_feed | 修改信息流名称、标签或来源 URL |
delete_feed | 删除信息流及其所有职位 |
delete_jobs | 清除信息流中的所有职位(保留信息流) |
计划任务
| 工具 | 功能 |
|---|---|
get_feed_schedule | 查看自动运行计划和下次运行时间 |
enable_feed_auto_run | 开启自动运行(默认:每周) |
disable_feed_auto_run | 关闭自动运行 |
职位
| 工具 | 功能 |
|---|---|
list_jobs | 列出信息流中的职位,可按状态筛选 |
get_job | 获取职位完整详情:名称、公司、地点、薪资、技能和描述 |
retry_failed_jobs | 将失败的职位重新加入队列,再次尝试处理 |
市场统计
| 工具 | 功能 |
|---|---|
get_stats_overview | 概览数据:职位总数、公司数量、活跃订阅源 |
get_top_companies | 按职位数量排名的公司及近期活动 |
get_categories | 按行业划分的职位数量及经验级别细分 |
get_top_titles | 按数量统计的最常见职位名称 |
get_title_trends | 需求上升或下降的职位名称(两周对比) |
get_work_arrangements | 远程、混合办公和现场办公的分布 |
get_experience_levels | 初级、中级和高级职位的分布 |
环境变量
| 变量 | 必需 | 说明 |
|---|---|---|
YUBHUB_USER_ID | 是 | 你的 YubHub 用户 ID |
YUBHUB_API_KEY | 是 | 来自你的账户页面的 API 密钥 |
YUBHUB_ADMIN_API_URL | 否 | API 端点(默认为 https://api.yubhub.co) |
对话示例
你: 为 Mercedes F1 职业页面创建一个订阅源:https://www.mercedesamgf1.com/careers
Claude: 完成。已创建 ID 为
feed_abc123的订阅源。需要我触发一次运行吗?你: 好的,请。
Claude: 已开始发现。我会在几分钟后回来查看。
你: 结果如何?
Claude: 找到了 47 个职位。42 个已成功补充信息,5 个仍在处理中。以下是按类别划分的明细……
提示: 为获得最佳效果,创建订阅源时请提供一个职位示例 URL。这有助于 YubHub 识别该网站上的职位列表 URL 模式,从而显著提高发现准确率。你可以将其作为可选的 exampleJobUrl 参数传递给 create_feed。
开发
git clone https://github.com/houtini-ai/yubhub.git
cd yubhub
npm install
npm run build
服务会将 TypeScript 编译到 dist/,并作为 stdio MCP 服务运行。源代码位于 src/:
src/
├── index.ts # MCP server, tool definitions and handlers
├── api-client.ts # REST client for the YubHub API
├── dashboard-generator.ts # React-based interactive dashboard builder
└── types.ts # TypeScript interfaces
本地运行
YUBHUB_USER_ID=your-id YUBHUB_API_KEY=yh_your_key node dist/index.js
或者,将你的 MCP 客户端指向构建产物,而不是使用 npx。
贡献
欢迎提交问题和拉取请求。如果你要添加工具或更改行为,请使用真实的 YubHub 账户进行测试。
链接
许可证
MIT — 详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。