使用说明
项目简介
本项目 'Hacker News 上下文服务器' 是一个基于 Model Context Protocol (MCP) 的后端实现,旨在为大型语言模型 (LLM) 应用提供访问 Hacker News (HN) 数据的能力。通过此服务器,LLM 可以调用预设的工具来获取 HN 上的热门新闻列表和特定新闻的详细信息,从而增强 LLM 在处理与技术新闻和社区讨论相关的任务时的上下文感知能力。
主要功能点
- 获取热门新闻列表 (get-top-stories): 允许 LLM 获取 Hacker News 当前的热门新闻 ID 列表。
- 获取新闻详情 (get-story): 允许 LLM 根据新闻 ID 获取 Hacker News 上特定新闻的详细信息,包括标题、作者、URL、得分、评论数等。
- 标准 MCP 服务器: 遵循 MCP 协议,可以通过标准的 JSON-RPC 接口与 MCP 客户端进行通信。
- Stdio 传输协议: 使用 Stdio (标准输入输出) 作为默认的传输协议,方便部署和集成。
安装步骤
- 克隆仓库:
git clone https://github.com/morinokami/mcp-server-hackernews.git cd mcp-server-hackernews - 安装依赖:
确保你已经安装了 Node.js 和 npm。然后运行:
npm install - 构建项目:
npm run build - 启动服务器:
或者直接使用 Node.js 运行编译后的 JavaScript 文件:npm start
服务器默认使用 Stdio 传输协议,启动后即可等待 MCP 客户端的连接和请求。node dist/index.js
服务器配置
对于 MCP 客户端,你需要配置以下信息来连接到 'Hacker News 上下文服务器'。以下是一个 JSON 格式的配置示例,请根据你的 MCP 客户端的具体配置方式进行设置:
{ "serverName": "hackernews", // 服务器名称,与服务器代码中定义的名称一致 "command": "node", // 启动服务器的命令,这里使用 node.js 运行时 "args": ["dist/index.js"] // 启动命令的参数,指向编译后的服务器入口文件 }
配置参数说明:
- 'serverName': 必须设置为 '"hackernews"',这是服务器在代码中声明的名称。
- 'command': 指定用于启动服务器进程的命令。由于本项目是 Node.js 应用,所以设置为 '"node"'。
- 'args': 一个字符串数组,包含传递给启动命令的参数。这里 '"dist/index.js"' 指向编译后生成的服务器入口文件路径。
基本使用方法
一旦 MCP 客户端成功连接到 'Hacker News 上下文服务器',LLM 应用就可以通过客户端调用服务器提供的工具。
可用的工具包括:
- 'get-top-stories': 无需任何参数。调用后,服务器将返回包含 Hacker News 热门新闻 ID 列表的 JSON 响应。
- 'get-story': 需要一个 'id' 参数,表示要获取的新闻的 ID (number 类型)。调用时,需要提供新闻 ID。服务器将返回包含该新闻详细信息的 JSON 响应。
例如,LLM 可以先调用 'get-top-stories' 获取热门新闻 ID 列表,然后选择其中一个 ID,再调用 'get-story' 并传入选定的 ID,以获取该新闻的详细内容用于后续处理。
注意: 服务器返回的数据格式为 JSON 字符串,LLM 应用需要解析 JSON 字符串以获取结构化的数据内容。
信息
分类
网页与API