使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 协议实现的服务器,使用 Server-Sent Events (SSE) 作为传输方式。它提供了一个工具,可以从 HackerNews 获取 Top Stories。此服务器旨在演示如何使用 SSE 传输协议构建 MCP 服务器,并提供 HackerNews 数据访问能力。

主要功能点

  • MCP 服务器实现: 遵循 MCP 协议规范,能够处理来自 MCP 客户端的请求,并返回符合 MCP 协议的响应。
  • SSE 传输: 使用 Server-Sent Events 技术进行数据传输,实现服务器向客户端的单向实时推送。
  • HackerNews 工具: 提供一个名为 'get-hackernews-top-stories' 的工具,允许客户端查询 HackerNews 的 Top Stories, New Stories 或 Best Stories。
  • 工具参数可配置: 'get-hackernews-top-stories' 工具允许客户端指定查询的故事类型和数量。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/KelvinQiu802/mcp-sse.git
    cd mcp-sse
  2. 安装依赖: 确保已安装 Node.js 和 npm,然后运行:
    npm install

服务器配置

MCP 客户端需要配置以下信息以连接到此 MCP 服务器。配置信息为 JSON 格式,示例如下:

{
  "serverName": "hackernews-server",
  "command": "node",
  "args": ["src/index.ts"]
}

配置参数说明:

  • 'serverName': 服务器名称,此处为 'hackernews-server',与代码中 'McpServer' 实例化的 'name' 属性一致。
  • 'command': 启动服务器的命令,此处为 'node',表示使用 Node.js 运行时环境。
  • 'args': 启动命令的参数,此处为 '["src/index.ts"]',指向服务器代码的入口文件。

注意: MCP 客户端需要能够执行 'node src/index.ts' 命令来启动服务器。请确保 Node.js 环境配置正确,并且 'src/index.ts' 文件路径相对于客户端的执行环境是正确的。

基本使用方法

  1. 启动服务器: 在仓库根目录下,运行命令启动服务器:

    npm start

    或者直接使用 node 命令:

    node src/index.ts

    服务器将在 3000 端口启动,并输出 'Server is running on port 3000' 表示启动成功。

  2. 配置 MCP 客户端: 在 MCP 客户端中,根据其配置方式,填入上述 服务器配置 JSON 信息,并指定传输协议为 SSE。

  3. 调用工具: 客户端连接到服务器后,即可通过 MCP 协议调用 'get-hackernews-top-stories' 工具,例如请求获取 5 篇 Top Stories。具体的请求格式请参考 MCP 协议文档和客户端的使用说明。

示例工具调用 (JSON-RPC over SSE): 以下是一个调用 'get-hackernews-top-stories' 工具的请求示例 (此为概念示例,实际请求发送可能需要根据 MCP 客户端的具体实现):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get-hackernews-top-stories",
    "arguments": {
      "type": "topstories",
      "amount": 5
    }
  }
}

服务器将通过 SSE 连接返回包含 HackerNews Top Stories 数据的 JSON-RPC 响应。

信息

分类

网页与API