MCP Claude Hacker News 是一个 MCP(Model Context Protocol)集成,用于让 Claude Desktop 与 Hacker News 交互。
用途 该项目将 Hacker News 的能力接入 Claude Desktop,使 Claude 可以通过自然语言或直接调用工具来浏览、搜索和查看 Hacker News 上的内容。
主要能力
- 浏览 Hacker News 最新故事
- 查看头条(top)和最佳评分(best-rated)故事
- 按关键字搜索故事,支持按相关度或最新时间排序(Algolia HN Search API)
- 获取故事详情
- 读取故事评论,评论数量设有上限,避免繁忙讨论串占满上下文
- 对 Hacker News 内容进行整洁格式化,包括 HTML 实体解码,提升可读性
运行要求
- Node.js 20 或更高版本
- 可访问 Hacker News API 的网络连接
安装方式
- 通过 Smithery 安装:从 Smithery 服务器页面安装打包版本,或使用 CLI 安装。
- 手动安装:克隆或下载仓库,安装依赖,构建项目。
运行 MCP 服务器 有两种方式:
- 手动运行:打开终端,进入项目目录,直接运行服务器(node build/index.js)。使用 Claude Desktop 时需保持该终端窗口打开,服务器会运行到关闭终端为止。
- 随 Claude Desktop 自动启动(推荐常规使用):Claude Desktop 可在需要时自动启动 MCP 服务器。
Claude Desktop 配置文件位置: macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json Linux:~/.config/Claude/claude_desktop_config.json
编辑该文件以添加 Hacker News MCP 配置;若文件不存在则创建。需要将 ABSOLUTE_PATH_TO_DIRECTORY 替换为安装 MCP 的完整绝对路径。例如: macOS/Linux:/Users/username/mcp-claude-hackernews Windows:C:\Users\username\mcp-claude-hackernews
若已有其他 MCP 配置,只需在 mcpServers 对象内添加 hackerNews 部分。修改配置后需重启 Claude Desktop。配置完成后,MCP 服务器会在 Claude Desktop 需要时自动启动,并作为由 Claude Desktop 管理的子进程运行。
可用工具 Hacker News MCP 提供 6 个专用工具用于不同功能:
- limit(可选):获取的故事数量,类型为数字,范围 1-50,默认 10
- query(必填):搜索词,类型为字符串,例如 "model context protocol"
- limit(可选):结果数量,1-50,默认 10
- sort(可选):relevance(默认)或 date,用于按最新优先排序
- story_id(必填):要获取的故事 ID,类型为数字,例如 12345678
- story_id(可选):要获取评论的故事 ID,类型为数字,例如 12345678
- story_index(可选):上一次获取列表中故事的索引,类型为数字(从 1 开始),例如 3 表示上一次列表中的第 3 个故事
- limit(可选):返回的顶层评论最大数量,类型为数字,范围 1-50,默认 20
注意:对于 hn_comments,必须提供 story_id 或 story_index。仅获取顶层评论,每条评论会报告回复数,响应中会说明返回了多少条该讨论串的顶层评论。
使用示例 直接使用工具,或通过自然语言查询,例如:
- “Show me the top 30 stories on Hacker News today”
- “What are the 40 latest posts on Hacker News?”
- “I'd like to see the 20 best articles from Hacker News”
- “Search Hacker News for stories about machine learning”
- “Get the comments for story number 5 from the last list”
- “Show me the details of story ID 12345678”
语言翻译请求示例:
- “Show me the top 30 stories on Hacker News today in Spanish”
- “Get the 20 latest Hacker News posts and translate them to French”
故障排除 “Server disconnected”错误:
- 验证服务器正在运行:在项目目录手动运行 node build/index.js;若启动成功,保持终端打开并使用 Claude
- 检查配置:确保 claude_desktop_config.json 中的绝对路径正确;Windows 路径需使用双反斜杠(\);确保使用从文件系统根目录开始的完整路径
- 尝试自动启动选项
工具未出现在 Claude 中:
- 确认配置后已重启 Claude Desktop
- 检查 Claude Desktop 日志中的 MCP 通信错误
- 确保 MCP 服务器进程正在运行(手动运行确认)
- 验证 MCP 服务器已正确注册到 Claude Desktop MCP 注册表
检查服务器是否运行:
- Windows:打开任务管理器,转到“详细信息”选项卡,查找 "node.exe"
- macOS/Linux:打开终端,运行 ps aux | grep node 若未看到服务器运行,请手动启动或使用自动启动方法。
测试 运行测试套件(无需网络)。
贡献与许可 欢迎提交 Pull Request。项目采用 Mozilla Public License 2.0 许可。
参考
- Model Context Protocol
- Hacker News API