用途
hn-server 是一个 Hacker News MCP 服务器,作为 Model Context Protocol(MCP)的实现,提供从 Hacker News 获取故事的工具。它通过解析 news.ycombinator.com 的 HTML 内容,将页面转换为结构化数据,方便 AI 助手或程序进一步处理。
主要能力
- 获取多种类型的故事:top(头条)、new(最新)、ask(Ask HN)、show(Show HN)、jobs(招聘)。
- 返回结构化数据,每条故事包含:标题(title)、URL(url,可能为文本帖的内部 HN 链接)、点数(points)、作者(author)、时间戳(time)、评论数(commentCount)、排名(rank)。
- 可配置返回的故事数量(limit)。
- 具备清晰的错误处理与参数校验。
使用方式
- 克隆仓库:
git clone https://github.com/pskill9/hn-server(安装命令未在资料中提供完整,请参考仓库说明)。 - 安装依赖并构建服务器(具体命令未在资料中提供)。
- 将服务器配置添加到 MCP 设置文件(位置取决于系统)。对于 VSCode Claude 扩展,添加到相应配置;对于 Claude 桌面应用,添加到其配置文件。
- 配置完成后,可通过 Claude 等支持 MCP 的客户端的自然语言界面交互。
服务器提供工具 get_stories,参数如下:
type(字符串):要获取的故事类型,可选 'top'、'new'、'ask'、'show'、'jobs',默认 'top'。limit(数字):返回的故事数量,范围 1-30,默认 10。
示例交互:
- “Show me the top 5 stories from Hacker News”
- “What are the latest Ask HN posts?”
- “Get me the top Show HN submissions from today”
Claude 会自动使用合适的参数获取用户想要的故事。
技术实现
服务器基于以下技术构建:
- Model Context Protocol SDK
- Axios 用于 HTTP 请求
- Cheerio 用于 HTML 解析
若需修改服务器,可编辑 src/index.ts。
适用场景
- 与 Claude 桌面应用或 VSCode Claude 扩展集成,通过自然语言查询 Hacker News 内容。
- 需要以结构化形式获取 Hacker News 故事数据的开发或自动化任务。
限制
- 故事类型仅支持 top、new、ask、show、jobs。
- 每次请求返回的故事数量限制在 1-30 条。
- 服务器包含针对无效故事类型、网络故障、HTML 解析错误和无效参数值的错误处理,错误会附带适当的错误代码和描述性消息。
- 项目采用 MIT 许可证。
(注:资料中未提供完整的安装依赖和构建命令,实际使用时请参考仓库说明。)