关于 Hacker News MCP Server
Hacker News MCP 服务通过解析 news.ycombinator.com 的页面内容,提供获取热门、最新、Ask、Show 和招聘类故事的工具。适合希望在 Claude 等 MCP 客户端中直接浏览 Hacker News 的用户。
主要功能
- 01获取 top、new、ask、show、jobs 类故事
- 02返回标题、链接、分数、作者与评论数
- 03可配置返回数量,范围 1 至 30
- 04基于 TypeScript 与 Model Context Protocol SDK 构建
适用场景
- 01在 Claude 中查询当天的热门 Hacker News 故事
- 02浏览最新的 Ask HN 或 Show HN 帖子
MCP 相关
该服务以 get_stories 工具的形式向 MCP 客户端提供 Hacker News 故事数据,客户端通过 stdio 方式的 mcpServers 配置接入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Hacker News MCP 服务
一个用于从 Hacker News 获取故事的模型上下文协议(MCP)服务。此服务会解析 news.ycombinator.com 中的 HTML 内容,并为不同类型的故事(top、new、ask、show、jobs)提供结构化数据。
功能
- 获取不同类型的故事(top、new、ask、show、jobs)
- 获取包含标题、URL、积分、作者、时间戳和评论数的结构化数据
- 可配置返回的故事数量上限
- 清晰的错误处理和验证
安装
- 克隆代码库:
git clone https://github.com/pskill9/hn-server
cd hn-server
- 安装依赖项:
npm install
- 构建服务:
npm run build
- 添加到 MCP 设置配置文件(位置取决于你的系统):
对于 VSCode Claude 扩展:
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
用法
此服务提供一个名为 get_stories 的工具,可用于从 Hacker News 获取故事。
工具:get_stories
参数:
type(字符串):要获取的故事类型- 选项:'top'、'new'、'ask'、'show'、'jobs'
- 默认值:'top'
limit(数字):要返回的故事数量- 范围:1-30
- 默认值:10
用法示例:
use_mcp_tool with:
server_name: "hacker-news"
tool_name: "get_stories"
arguments: {
"type": "top",
"limit": 5
}
输出示例:
[
{
"title": "Example Story Title",
"url": "https://example.com/story",
"points": 100,
"author": "username",
"time": "2024-12-28T00:03:05",
"commentCount": 50,
"rank": 1
},
// ... more stories
]
与 Claude 集成
若要将此 MCP 服务与 Claude 搭配使用,你需要:
- 安装 Claude 桌面应用或 VSCode Claude 扩展
- 在设置中配置 MCP 服务
- 使用 Claude 的自然语言界面与 Hacker News 交互
配置
对于 Claude 桌面应用,将服务配置添加到:
// ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
// %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
对于 VSCode Claude 扩展,添加到:
// VSCode Settings JSON
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
交互示例
配置完成后,你可以使用自然语言与 Claude 交互,获取 Hacker News 故事。例如:
- “显示 Hacker News 上排名前 5 的故事”
- “最新的 Ask HN 帖子有哪些?”
- “获取今天排名靠前的 Show HN 投稿”
Claude 会自动使用相应参数来获取你想要的故事。

故事对象结构
每个故事对象包含:
title(字符串):故事标题url(字符串,可选):故事的 URL(文本帖子可能使用 HN 内部 URL)points(数字):获得的赞成票数author(字符串):发帖者的用户名time(字符串):故事发布的时间戳commentCount(数字):评论数rank(数字):在列表中的位置
开发
此服务使用以下技术构建:
- TypeScript
- 模型上下文协议 SDK
- 用于 HTTP 请求的 Axios
- 用于 HTML 解析的 Cheerio
若要修改服务:
- 修改
src/index.ts - 重新构建:
npm run build
错误处理
此服务针对以下情况提供稳健的错误处理:
- 无效的故事类型
- 网络故障
- HTML 解析错误
- 无效的参数值
返回的错误包含相应的错误代码和详细说明。
贡献
欢迎贡献!欢迎提交 Pull Request。
许可证
MIT 许可证——欢迎在你自己的项目中使用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。