H

Hacker News 服务器

@pskill9/hn-server
0 Stars 370 次浏览 pskill9 更新于 2026-08-23

解析来自 news.ycombinator.com(Hacker News)的 HTML 内容,并为不同类型的故事(顶级、新故事、提问、展示、工作)提供结构化数据。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (1 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

get_stories 2 个参数

Get stories from Hacker News

该工具无需必填参数,直接调用即可

服务介绍

Hacker News MCP 服务器

一个提供从 Hacker News 获取故事的工具的 Model Context Protocol (MCP) 服务器。该服务器解析来自 news.ycombinator.com 的 HTML 内容,并为不同类型的故事(热门、最新、求问、展示、工作)提供结构化数据。

特性

  • 获取不同类型的故事(热门、最新、求问、展示、工作)
  • 获取包括标题、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
  • Model Context Protocol SDK
  • Axios 用于 HTTP 请求
  • Cheerio 用于 HTML 解析

要修改服务器:

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

错误处理

该服务器包括针对以下情况的强大错误处理:

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

错误会附带适当的错误代码和描述性信息返回。

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT 许可证 - 您可以在自己的项目中自由使用。

相关 MCP 服务