关于 HN Who is hiring
HN Who is hiring 是只读 MCP 服务,可将 Hacker News 招聘帖转为可搜索的结构化职位数据。它面向求职者及关注招聘趋势的人,提供解析字段和按月技术统计。
主要功能
- 01列出每月招聘帖
- 02按条件搜索职位
- 03返回解析后的职位详情
- 04汇总每月招聘趋势
- 05提供类型化只读工具
适用场景
- 01查找注明薪资的远程职位
- 02按地点或技术筛选职位
- 03比较不同月份的技术提及
MCP 相关
MCP 服务提供四种只读工具,用于列出讨论串、搜索职位、读取单条帖子和查看招聘趋势。工具声明 JSON 输入与输出模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 |
详细介绍
hn-hiring-mcp
一个 MCP 服务,可将每月的 Hacker News “Ask HN: Who is hiring?” 主题帖转换为带类型、可搜索的职位 API。
每个月,数百家公司都会在这些主题帖中以自由格式的评论发布职位。HN 自带的 API 只能按 ID 返回条目,因此无法查询 “欧洲注明薪资的远程 Python 职位” 或 “Rust 的需求是否在增长?”。此服务会将每条帖子解析为结构化字段(公司、职位、地点、远程/混合办公/现场办公、薪资、签证、 技术),并向任何 MCP 客户端提供四个只读工具。
工具
| 工具 | 功能 |
|---|---|
list_hiring_threads | 获取最新的月度主题帖及其 ID 和评论数。 |
search_jobs | 搜索某个月份:自由文本、location、work_mode、technologies、has_salary、visa_sponsorship、sort、limit/offset。返回精简摘要。 |
get_job | 按 ID 获取一条帖子的全文和解析字段。 |
hiring_trends | 按月统计:提及各项技术的帖子占比,以及远程/混合办公/现场办公的帖子数量。 |
所有工具都为输入和输出(structuredContent)声明 JSON Schema,带有 readOnlyHint 注解,并会在失败时返回清晰、可供模型读取的错误:
INVALID_INPUT: Unknown technology "cobol". Known technologies: Python, TypeScript, … For anything else use the free-text "query".
NOT_FOUND: HN item 49922569 is not a top-level job post in a "Who is hiring?" thread.
UPSTREAM_ERROR: HN API answered 503 while loading thread list. Try again later.
安装
需要 Node.js 22+。
Claude Code
claude mcp add hn-hiring -- npx -y hn-hiring-mcp
Claude Desktop:添加到 claude_desktop_config.json
(macOS:~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"hn-hiring": {
"command": "npx",
"args": ["-y", "hn-hiring-mcp"]
}
}
}
其他任何 MCP 客户端:运行 npx -y hn-hiring-mcp,将其作为 stdio 服务。
示例
Claude Desktop 中的一段精简会话(2026 年 10 月的数据):
你: 查找本月 Who is hiring 中注明薪资的远程 Python 职位。
Claude 调用
search_jobs({ "technologies": ["Python"], "work_mode": "remote", "has_salary": true })Claude: 2026 年 10 月的主题帖中有 37 条提及 Python 的远程招聘帖;其中 22 条注明了薪资:
- NeuralFrame:高级后端工程师,医疗数据管道(Python + Rust)。 远程(仅限美国,不提供签证担保),$170k–$210k + 股权。 HN 帖子
- …
你: 今年对 MCP 经验的需求有变化吗?
Claude 调用
hiring_trends({ "technologies": ["MCP", "Python", "TypeScript"], "months": 6 })Claude: 有。提及 MCP 的帖子占比从 5 月的 2.5% 上升到 10 月的 4.5% (6 月低点为 1.3%);而 Python(22–27%)和 TypeScript(20–24%)保持平稳。
工作原理
- 数据来源: 公共的 HN Algolia API。一次请求 即可返回整个主题帖(约 250 条招聘帖),而 Firebase API 则需要约 400 次条目请求。
- 请求规范: 请求按顺序执行,间隔至少 1 秒,带有可识别的
User-Agent,并在遇到 429/5xx 时重试一次。 - 缓存: 响应会缓存在内存和磁盘上(
~/.cache/hn-hiring-mcp,可通过HN_HIRING_MCP_CACHE_DIR覆盖,或设为off)。超过 45 天的主题帖不会再变化,会一直保留; 当月数据每小时刷新。缓存前会移除对招聘帖的回复。 - 解析(
src/parse.ts)遵循主题帖自身的格式约定:Company | Role | Location | REMOTE | Salary,也能处理—分隔符、括号中的地点,以及用-表示的薪资范围。技术检测 (src/technologies.ts)倾向于保守判断:“Go ahead and apply” 不会被识别为 Go。 帖子采用自由文本,因此各字段只能尽力解析;headline和hn_url始终存在,可供核对。
隐私与范围
- 只读。不创建账户、不登录,也不代替任何人申请。
- 帖子中的电子邮件地址(包括
name [at] company [dot] com和谜题式地址)会被替换为[email on HN];用户可通过hn_url前往原帖申请。 - 不会返回发帖者的 HN 用户名。
开发
npm install
npm test # vitest, against recorded fixtures only; no network
npm run typecheck
npm run build
node scripts/smoke.ts search_jobs '{"query":"rust","limit":3}' # live call through a real MCP client
node scripts/record-fixtures.ts # refresh fixtures (anonymised, trimmed)
服务器测试会通过内存传输将真实的 MCP Client 连接到服务器,因此会像 Claude 一样测试架构、验证和错误映射。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。