使用说明

项目简介

本项目 '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 (标准输入输出) 作为默认的传输协议,方便部署和集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/morinokami/mcp-server-hackernews.git
    cd mcp-server-hackernews
  2. 安装依赖: 确保你已经安装了 Node.js 和 npm。然后运行:
    npm install
  3. 构建项目:
    npm run build
  4. 启动服务器:
    npm start
    或者直接使用 Node.js 运行编译后的 JavaScript 文件:
    node dist/index.js
    服务器默认使用 Stdio 传输协议,启动后即可等待 MCP 客户端的连接和请求。

服务器配置

对于 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