使用说明
项目简介
本项目是一个基于 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' 工具允许客户端指定查询的故事类型和数量。
安装步骤
- 克隆仓库:
git clone https://github.com/KelvinQiu802/mcp-sse.git cd mcp-sse - 安装依赖:
确保已安装 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' 文件路径相对于客户端的执行环境是正确的。
基本使用方法
-
启动服务器: 在仓库根目录下,运行命令启动服务器:
npm start或者直接使用 node 命令:
node src/index.ts服务器将在 3000 端口启动,并输出 'Server is running on port 3000' 表示启动成功。
-
配置 MCP 客户端: 在 MCP 客户端中,根据其配置方式,填入上述 服务器配置 JSON 信息,并指定传输协议为 SSE。
-
调用工具: 客户端连接到服务器后,即可通过 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