Hacker新闻数据服务

一个提供Hacker新闻数据访问的MCP服务器,支持HTTP/SSE传输,包含多种故事类型和用户信息的获取功能。

  • by losfair
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 losfair/hn-mcp

使用说明

黑客新闻MCP服务器

一种模型上下文协议(MCP)服务器,通过HTTP/SSE传输提供对黑客新闻数据的访问。该服务器实现MCP规范,并提供MCP工具/资源和用于访问Hacker News内容的直接HTTP API端点。

您可以通过添加一个指向以下内容的Claude Integration来使用它 https://hn-mcp.losfair.deno.net/sse.

特性

MCP工具

  • 获取项目 -按ID检索任何黑客新闻项目(故事、评论、工作等)
  • get_user -按用户名获取用户配置文件信息
  • get_top_stores -获取具有可配置限制的头条新闻
  • 获取新故事 -获取具有可配置限制的最新故事
  • get_best_stores -使用可配置的限制获取最佳故事
  • get_ask_stores -获取具有可配置限制的Ask HN故事
  • 获取_展示_故事 -使用可配置的限制获取显示HN故事
  • get_job_stores -获取具有可配置限制的职位发布
  • get_item_with_comments -获取带有嵌套注释的项目(深度可配置)
  • get_max_item_id -从Hacker News获取当前最大项目ID
  • 获取更新 -获取最近更改的项目和用户配置文件

MCP资源

  • hn://stories/top -热门故事资源
  • hn://stories/new -新故事资源
  • hn://stories/best -最佳故事资源
  • hn://stories/ask -询问HN故事资源
  • hn://stories/show -显示HN故事资源
  • hn://stories/job -工作故事资源

HTTP API终结点

  • GET /health -健康检查端点
  • GET /api/item/:id -按ID获取项目
  • GET /api/user/:username -按用户名获取用户
  • GET /api/stories/:type?limit=N -按类型获取故事(热门、新、最佳、提问、展示、工作)

OAuth 2.0端点(测试)

  • GET /authorize -OAuth授权端点(虚拟实现)
  • POST /token -OAuth令牌端点(虚拟实现)
  • POST /register -OAuth客户端注册端点(虚拟实现)

安装

npm install

用法

发展

npm run dev

生产

npm run build
npm start

服务器将在端口3000(或port环境变量)上启动,并提供:

  • MCP SSE端点位于 /sse (需要承载令牌身份验证)
  • MCP消息端点位于 /message (需要承载令牌身份验证)
  • 用于测试的直接HTTP API端点

认证

对于MCP端点,使用承载令牌身份验证:

Authorization: Bearer dummy-bearer-token-12345

使用Claude.ai进行测试

  1. 启动服务器: npm run dev
  2. 在Claude.ai中,添加MCP服务器URL: http://localhost:3000/sse
  3. 使用Bearer代币: dummy-bearer-token-12345

API示例

获取带有评论的故事

curl "http://localhost:3000/api/item/1" 

获取前10个故事

curl "http://localhost:3000/api/stories/top?limit=10"

获取用户资料

curl "http://localhost:3000/api/user/pg"