mcpField
H
hiresignal

hiresignal

远程服务
github.com/iusmuchandra商业与营销017 周前更新
代码仓库

关于 hiresignal

hiresignal 是一个 MCP 服务,将实时招聘信息转化为面向 B2B 销售和 GTM 团队的招聘意向信号。它结合职位搜索与市场分析工具,并维护来自所选公司 ATS 的职位时间序列语料。

主要功能

  1. 01按职位、技能、地点和时效搜索招聘信息
  2. 02跟踪公司招聘速度和部门构成
  3. 03分析技能需求和薪资范围
  4. 04比较最多五家公司的招聘情况
  5. 05轮询新职位并查看服务状态
  6. 06使用第一方语料中的职位时间序列

适用场景

  1. 01发现招聘相关职位的目标客户
  2. 02比较潜在客户公司的招聘势头
  3. 03跟踪某项技能的需求与薪资估算
  4. 04在 Agent 循环中检查新职位

MCP 相关

通过 SSE 向 MCP 客户端提供 8 个工具,支持托管远程端点和 API 密钥认证。工具涵盖职位搜索、招聘与技能趋势、薪资估算、公司比较、职位提醒和服务状态。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://hiresignal-mcp-production-d4d9.up.railway.app/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

HireSignal — 面向 B2B 销售的招聘意向信号

将实时职位发布转化为 AI Agent 可调用的购买信号。

HireSignal 实时演示 — 针对托管服务的三次工具调用

针对托管实例的实时演示 — 使用 node scripts/demo.mjs 亲自运行。

当一家公司发布 VP Sales、RevOps Manager 或 Data Security Analyst 的职位时,这说明它存在痛点,且已获批预算——通常会早于开始调研供应商 60–90 天。HireSignal 是一款 MCP 服务,可呈现这些招聘信号,让你的销售/GTM Agent 找到正在寻求解决方案的客户、为其评分并把握联系时机。

将它接入 Claude、Cursor、Cline 或 Windsurf,然后询问:

  • “过去 7 天内,哪些金融科技公司发布了 RevOps 或 Sales Ops 职位?” (→ 表明正在寻找 CRM/销售工具)
  • “Stripe 目前是在扩充还是冻结数据团队?” (→ 客户扩张 = 预算解锁)
  • “比较这 5 个目标客户的招聘势头。”
  • “本月哪些公司开始招聘 Snowflake 相关职位?” (→ 表明有意购买周边数据工具)

它也适用于招聘情报、薪酬基准分析和市场研究——但它是以销售为先构建的。

该服务通过 SSE 使用 Model Context Protocol,因此可托管在远程位置(Railway、Fly 或任何支持 HTTPS 的平台)。

即刻试用(托管演示)

当前有一个在线实例在运行,使用共享且受速率限制的演示密钥。将任意 MCP 客户端指向:

URL:    https://hiresignal-mcp-production-d4d9.up.railway.app/sse
Header: Authorization: Bearer hs_demo_0b25932234553fd38b571f12c1439bfd

演示密钥的速率限制非常严格,且共享有限的月度数据配额——繁忙时段可能会遇到 QUOTA_EXHAUSTED。如需限制更宽松的专属密钥,请联系我们。

工具

工具功能
search_jobs按职位/技能、地点和近期时间范围查找实时职位发布。
company_hiring_velocity查询单家公司职位总数、过去 7 天/30 天新增职位数、部门构成,以及增长/稳定/收缩信号。
skill_demand_pulse查询某项技能的逐周需求趋势、公开薪资均值和招聘职位最多的公司。
market_salary_estimate按职位名称、地点和资历查询 p25 / 中位数 / p75 薪资,以及远程办公溢价。
industry_hiring_heatmap查询某个行业垂直领域各部门的开放职位数和变化百分比。
competitor_talent_intel并排比较最多 5 家公司的开放职位、热门职位名称和增长信号。
job_alert_check检查过去 N 小时内发布的新职位。专为 cron / Agent 循环设计。
get_server_status健康状态快照:版本、运行时间、已配置的数据提供方、语料库统计信息、缓存大小。

第一方语料库(数据护城河)

对于经过筛选的一组高价值客户,HireSignal 不会转售聚合数据,而是直接抓取每家公司的自有 ATS(Greenhouse / Ashby / Lever / Workday),并在本地 SQLite 文件中存储每条职位发布的时间序列。因此,company_hiring_velocity 能提供真实信号(职位会随时间新增和关闭,并使用公司实际发布的日期),返回 data_source: "first_party_ats",每次查询无需付费;而且由于价值来自不断积累的历史记录,竞争对手无法事后补齐这项数据。

npm run build && npm run ingest     # ~50 companies, ~12k open roles, ~$0

服务可以自行保持数据最新(设置 INGEST_INTERVAL_HOURS 和持久化的 HIRESIGNAL_CORPUS_PATH)。语料库以外的公司会自动回退到聚合数据源。完整设计、架构和添加公司的方法见:CORPUS.md。

配置

在服务器上设置这些环境变量(Railway → Variables,或在本地设置 .env):

SERPAPI_KEY=...               # https://serpapi.com — used by search_jobs, job_alert_check
JSEARCH_RAPIDAPI_KEY=...      # https://rapidapi.com/letscrape-6bRBa3QguO5/api/jsearch
HIRESIGNAL_API_KEYS=k1,k2     # comma-separated allowlist of client keys
PORT=3000                     # default

# First-party corpus (optional but recommended — see CORPUS.md)
HIRESIGNAL_CORPUS_PATH=./data/corpus.db   # SQLite corpus location (use a volume in prod)
INGEST_INTERVAL_HOURS=6                    # if set, server self-ingests on boot + interval

必须有可用的数据源:可以是已导入的语料库(npm run ingest),也可以是提供商密钥。get_server_status 会在语料库处于活动状态或已设置密钥时报告 "ok",两者都没有时则报告 "degraded"。

HIRESIGNAL_API_KEYS 接受一个或多个以逗号分隔的密钥(单个密钥也可以使用 HIRESIGNAL_API_KEY)。如果两者均未设置,服务器将以开放模式运行——它会记录启动警告并接受未经身份验证的调用。这种模式适合本地开发,但不得用于任何暴露在网络上的部署。

在本地运行

npm install
cp .env.example .env   # fill in keys
npm run dev            # tsx watch
# → http://localhost:3000/sse
# → http://localhost:3000/health

生产构建:

npm run build
npm start

部署到 Railway

npm install -g @railway/cli
railway login
railway init
railway up
# then set SERPAPI_KEY and JSEARCH_RAPIDAPI_KEY in the Railway dashboard

railway.json 配置了 Nixpacks、npm ci && npm run build 步骤,以及用于健康检查的 /health。

连接 MCP 客户端

Claude Desktop

Claude Desktop 的稳定版配置原生支持 stdio MCP 服务,也可通过 mcp-remote 桥接远程(SSE)服务。编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "hiresignal": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://your-hiresignal.up.railway.app/sse",
        "--header",
        "Authorization: Bearer YOUR_HIRESIGNAL_API_KEY"
      ]
    }
  }
}

重启 Claude Desktop。8 个 HireSignal 工具将显示在工具菜单中。

Cursor

打开 Cursor → Settings → MCP → “Add new MCP server”:

{
  "mcpServers": {
    "hiresignal": {
      "url": "https://your-hiresignal.up.railway.app/sse",
      "headers": {
        "Authorization": "Bearer YOUR_HIRESIGNAL_API_KEY"
      }
    }
  }
}
Cline / Windsurf

两者都支持远程 SSE MCP 服务。将它们指向 https://your-hiresignal.up.railway.app/sse,并使用相同的 Authorization: Bearer … 标头。

本地 stdio 备用方案

大多数客户端只需使用上面的 SSE URL。如果客户端要求使用 stdio,请按 Claude Desktop 示例将其指向 mcp-remote 桥接程序。

身份验证与限制的工作方式

  • API 密钥:服务器从 Authorization: Bearer …、x-api-key 或 ?api_key=… 读取密钥(建议使用标头——查询参数会出现在代理/访问日志中)。服务器会对所提交的密钥进行 SHA-256 摘要计算,并以恒定时间与 HIRESIGNAL_API_KEYS 中每个密钥的摘要进行比较。未知或缺失的密钥会返回 401 和 {"code": "AUTH_FAILED"}。日志中只记录摘要的前 16 个十六进制字符,绝不记录密钥本身。/messages POST 端点会在每次调用时重新检查密钥;如果密钥与开启会话时使用的密钥不同,则会拒绝请求。因此,仅泄露 sessionId 不足以接管会话。
  • 速率限制:每个 API 密钥每分钟最多调用工具 30 次(内存中的令牌桶)。超出限制时,工具会返回 { "code": "RATE_LIMITED", "retry_after_seconds": N }。
  • 缓存:每个 (query, location, date_posted) 元组的职位搜索结果会缓存 15 分钟,以保护上游配额。job_alert_check 始终绕过缓存。
  • 配额错误:上游返回 429 或表示配额耗尽时,工具会返回 { "code": "QUOTA_EXHAUSTED", "retry_after_seconds": N, "hint": "hiresignal.io/pricing" }。

测试

npm test         # vitest run with mocked upstream APIs
npm run typecheck

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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