mcpField
J
jobfeed

jobfeed

本地服务
github.com/CloudCorpRecords商业与营销01 周前更新

关于 jobfeed

jobfeed 是 Fairquery 职位数据 MCP 服务的本地桥接,可读取公开职位板和在招岗位,适合查询单家公司或监测多家公司职位。它转发上游结果,不保存职位数据,也不处理申请或候选人信息。

主要功能

  1. 01读取职位板当前岗位
  2. 02解析公司对应的职位板
  3. 03检查职位是否仍开放
  4. 04查询职位详情与种子板
  5. 05按地点或公司搜索职位

适用场景

  1. 01查看某家公司公开的在招岗位
  2. 02确认单个职位是否仍在发布
  3. 03按地点和角色查找职位板
  4. 04跨公司监测新增、关闭和重发职位

MCP 相关

提供上游职位工具的本地工具列表,并将 MCP 调用转发到 Fairquery Jobs 远程服务。上游结果原样返回。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-jobfeed": {
"command": "npx",
"args": [
"-y",
"@reneturcios/jobfeed"
]
}
}
}
启动命令npx -y @reneturcios/jobfeed

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/jobfeed0.1.0
ocighcr.io/cloudcorprecords/jobfeed:0.1.0

工具

7

收录的工具列表 · 更新于 1 周前

参数类型必填说明
atsenum是必填。托管该招聘页面的申请人跟踪系统:“greenhouse” | “lever” | “ashby” | “personio” | “pinpoint” | “gem”。Personio、Pinpoint 和 Gem 填写你指定的账户、子域名或自定义名称,而非发现的招聘页面。示例:“ashby”greenhouse | lever | ashby | personio | pinpoint | gem
slugstring是必填。公共招聘页面 URL 中显示的板块 slug(不区分大小写):boards.greenhouse.io/{slug}、jobs.lever.co/{slug}、jobs.ashbyhq.com/{slug}、{account}.jobs.personio.de 中的 Personio 账户、{subdomain}.pinpointhq.com 中的 Pinpoint 子域名,或 jobs.gem.com/{vanity} 中的 Gem vanity。指定的源名称中不能包含点号。1–100 个字符。示例:“ramp” 或 “acme”
limitinteger否可选页大小,整数 1–500,默认值为 50
offsetinteger否可选要跳过的条目数,整数 >= 0,默认值为 0;传入上一个响应中的 nextOffset
remoteenum否可选,“any” | “only” | “exclude”,默认值为 “any”any | only | exclude
countriesarray否可选 ISO-3166 alpha-2 代码,任意匹配,区分大小写。示例:["US","DE"]
locationsarray否可选,0–50 个字符串,匹配任一项。按地点文本进行子串匹配。美国州名和代码双向匹配(FL 和 Florida);NYC、SF、LA、DC、Tampa Bay 等美国都会区别名也可匹配。"remote" 也会匹配 ATS 远程标记。示例:["new york","berlin"]
longOpenDaysinteger否可选整数,默认值为 60:超过此天数的行会将 long_open 设为 true(这是一种启发式判断,并非幽灵职位的确证)
titleExcludesarray否可选,0–50 个字符串,任意匹配。删除标题中包含任一字符串的职位。示例:["intern","manager"]
titleIncludesarray否可选,0–50 个字符串,任意匹配。保留标题中包含这些完整单词或短语(不区分大小写)的职位。示例:["engineer","data scientist"]
postedWithinDaysinteger否可选整数 1–3650:保留 ATS 发布日期距今不超过此天数的职位。示例:14
includeDescriptionboolean否可选布尔值,默认值为 false。true 会添加 description_text(纯文本,最多 20,000 个字符,已移除电子邮件地址和电话号码)

详细介绍

jobfeed

jobfeed 是一个小型本地桥接服务,连接托管的 Fairquery jobs MCP 服务,该服务从官方公开来源读取实时招聘信息。可查询一家公司的招聘板,解析公司使用的招聘板,重新检查某个职位是否仍在招聘,获取某个职位的完整信息,列出已验证的入门招聘板,或按地点和职位搜索该入门列表;还可通过付费的公司搜索,监控多家公司的职位空缺及其历史记录。

该桥接服务不保留任何招聘数据。它会在本地提供上游服务的工具列表,该列表与从实时端点捕获的内容完全一致,并将每次工具调用转发到上游,原样返回结果。捕获到的接口仅包含只读的公开招聘板数据:不支持申请职位、发送消息,也不包含候选人数据。

工具

  • jobs_get_board — 某个招聘板当前发布的所有职位。必填:ats 和 slug。可选筛选条件包括标题包含或排除的内容、地点、国家/地区、远程办公、发布天数范围、是否包含职位描述,以及分页。
  • jobs_find_board — 将公司名称、域名或招聘/招聘板 URL 解析为其公开招聘板。必填:company。
  • jobs_check_open — 重新检查某个职位是否仍在发布。接受 jobKey,或 ats + slug + jobId,并可选传入 includeDescription。
  • jobs_get_job — 获取某个已发布职位的完整详情,可传入 jobKey,或 ats + slug + jobId。
  • jobs_list_seed_boards — 已捆绑的已验证招聘板入门列表,可按 ats 缩小范围,并支持分页。
  • jobs_search_by_location — 按地点和职位搜索入门列表,不含公司名称。必须提供地点信号:locations、countries 或远程办公 "only"。
  • jobs_search_companies — 付费的多公司搜索和监控工具,可跨多家公司或招聘板查看历史记录、新增/关闭职位及重新发布信号。

招聘板涵盖 Greenhouse、Lever 和 Ashby,以及指定的 Personio、Pinpoint 和 Gem 信息流。

配置

  • FAIRQUERY_JOBS_MCP_URL(可选)— 覆盖上游端点。默认值为 https://mcp.getfairquery.com/jobs/mcp。(此覆盖钩子是本次重建中特别标注的还原实现。)
  • FAIRQUERY_JOBS_API_KEY(可选)— 设置后,每个上游请求都会携带 Authorization: Bearer <key> 标头。未设置时,不会发送密钥标头。上游记录未固定任何身份验证标头,因此此转发行为也是特别标注的还原实现;原始接口是在不带密钥的情况下捕获的。
转发机制

首次调用工具时,客户端会与上游建立可流式传输的 HTTP 会话:发送 JSON-RPC initialize 请求(protocolVersion 为 2025-03-26,clientInfo 名称为 jobfeed),然后发送 notifications/initialized 通知,接着发送携带调用方原样参数的 tools/call 请求。上游在 initialize 响应中返回 Mcp-Session-Id 标头时,该值会随会话的每个后续请求一同发送;该会话会在进程运行期间持续复用。响应可能是普通 JSON,也可能是服务器发送事件;两种格式都会读取。

上游的成功结果会原样传递,包括上游设置的任何 isError 标志。失败情况——JSON-RPC 错误、非 2xx 状态、无法读取的响应,或无法完成的请求——会以 isError 结果返回,其文本以 jobfeed error: 开头(此呈现方式是本次重建中特别标注的还原实现)。

CLI

每个工具也都是一个子命令,接受一个 JSON 参数字符串:

npx @reneturcios/jobfeed jobs_get_board '{"ats":"ashby","slug":"ramp"}'
npx @reneturcios/jobfeed jobs_find_board '{"company":"ramp.com"}'
npx @reneturcios/jobfeed jobs_search_by_location '{"locations":["Costa Mesa"],"descriptionIncludes":["avionics"]}'
npx @reneturcios/jobfeed --version

退出代码:成功时为 0,结果包含 isError 时为 1,用法错误时为 2。

MCP 服务

npx -y @reneturcios/jobfeed mcp

MCP 客户端配置:

{
  "mcpServers": {
    "jobfeed": {
      "command": "npx",
      "args": ["-y", "@reneturcios/jobfeed", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/jobfeed
docker run --rm ghcr.io/cloudcorprecords/jobfeed --version

容器的默认命令为 mcp,因此第一种形式是 stdio MCP 服务;其他任何参数都会照常传给 CLI。

开发

npm install
npm run build
npm test
npm run dev

测试套件完全针对桩接的 JSON-RPC 上游运行,不会进行实时网络调用。

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。