返回市场
热节点服务器

热节点服务器

作者:pskill936 星标更新:2024-12-31

项目介绍

Hacker News MCP 服务器

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

<a href="https://glama.ai/mcp/servers/oge85xl22f"><img width="380" height="200" src="https://gips1.baidu.com/it/u=774834935,2091641471&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Hacker News MCP 服务器" /></a>

功能

  • 获取不同类型的故事(顶级、最新、提问、展示、工作)
  • 获取包括标题、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": "示例故事标题",
    "url": "https://example.com/story",
    "points": 100,
    "author": "用户名",
    "time": "2024-12-28T00:03:05",
    "commentCount": 50,
    "rank": 1
  },
  // ... 更多故事
]

与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 设置 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许可证 - 欢迎在您的项目中使用。 </中文翻译>