mcpField
H
Hacker News MCP Server

Hacker News MCP Server

本地服务
github.com/pskill9社交媒体4095 周前更新

关于 Hacker News MCP Server

Hacker News MCP 服务通过解析 news.ycombinator.com 的页面内容,提供获取热门、最新、Ask、Show 和招聘类故事的工具。适合希望在 Claude 等 MCP 客户端中直接浏览 Hacker News 的用户。

主要功能

  1. 01获取 top、new、ask、show、jobs 类故事
  2. 02返回标题、链接、分数、作者与评论数
  3. 03可配置返回数量,范围 1 至 30
  4. 04基于 TypeScript 与 Model Context Protocol SDK 构建

适用场景

  1. 01在 Claude 中查询当天的热门 Hacker News 故事
  2. 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)提供结构化数据。

Hacker News MCP 服务

功能

  • 获取不同类型的故事(top、new、ask、show、jobs)
  • 获取包含标题、URL、积分、作者、时间戳和评论数的结构化数据
  • 可配置返回的故事数量上限
  • 清晰的错误处理和验证

安装

  1. 克隆代码库:
git clone https://github.com/pskill9/hn-server
cd hn-server
  1. 安装依赖项:
npm install
  1. 构建服务:
npm run build
  1. 添加到 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 搭配使用,你需要:

  1. 安装 Claude 桌面应用或 VSCode Claude 扩展
  2. 在设置中配置 MCP 服务
  3. 使用 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 会自动使用相应参数来获取你想要的故事。

Claude 正在使用 Hacker News MCP 服务

故事对象结构

每个故事对象包含:

  • title(字符串):故事标题
  • url(字符串,可选):故事的 URL(文本帖子可能使用 HN 内部 URL)
  • points(数字):获得的赞成票数
  • author(字符串):发帖者的用户名
  • time(字符串):故事发布的时间戳
  • commentCount(数字):评论数
  • rank(数字):在列表中的位置

开发

此服务使用以下技术构建:

  • TypeScript
  • 模型上下文协议 SDK
  • 用于 HTTP 请求的 Axios
  • 用于 HTML 解析的 Cheerio

若要修改服务:

  1. 修改 src/index.ts
  2. 重新构建:
npm run build

错误处理

此服务针对以下情况提供稳健的错误处理:

  • 无效的故事类型
  • 网络故障
  • HTML 解析错误
  • 无效的参数值

返回的错误包含相应的错误代码和详细说明。

贡献

欢迎贡献!欢迎提交 Pull Request。

许可证

MIT 许可证——欢迎在你自己的项目中使用。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。