使用说明
项目简介
本项目是一个使用原生Node.js实现的Model Context Protocol (MCP) 服务器的参考实现。它旨在演示如何构建一个符合MCP协议规范的服务端,以便为LLM客户端提供上下文数据和功能。该服务器使用Server-Sent Events (SSE) 作为传输协议,并集成了工具注册和调用功能。
主要功能点
- MCP协议实现: 实现了MCP协议的核心功能,能够处理MCP客户端发送的符合JSON-RPC格式的请求,并返回响应。
- 资源管理 (Resources): 仓库描述中提到计划支持资源管理,但当前版本可能尚未完全实现,请关注后续更新。
- 工具注册与执行 (Tools): 支持注册和执行外部工具,例如示例中提供的计算器 (calculator) 和天气查询 (weather) 工具。允许LLM客户端通过MCP协议调用这些工具来扩展功能。
- Prompt模板 (Prompts): 仓库描述中提到计划支持Prompt模板,但当前版本可能尚未完全实现,请关注后续更新。
- SSE传输协议: 使用Server-Sent Events (SSE) 作为主要的客户端-服务器通信协议,实现了实时的双向数据传输。
- 会话管理: 通过sessionId管理客户端会话,确保每个客户端连接的独立性和数据隔离。
- 健康检查: 提供 '/ping' 健康检查接口,用于监控服务器运行状态。
- CORS支持: 配置了CORS (跨域资源共享),允许来自不同域的MCP客户端访问服务器。
安装步骤
- 安装Node.js和npm: 确保您的系统已安装Node.js和npm (Node包管理器)。
- 克隆仓库: 使用git命令克隆该GitHub仓库到本地:
git clone https://github.com/rodocite/mcp-node-sse-reference.git cd mcp-node-sse-reference - 安装依赖: 在项目根目录下运行npm命令安装项目依赖:
npm install
服务器配置
MCP服务器需要配置后才能被MCP客户端连接和使用。以下是MCP客户端所需的服务器配置信息(JSON格式):
{ "serverName": "mcp-node-sse-reference", "command": "node", "args": [ "index.js" ], "transport": "sse", "baseUrl": "http://localhost:3001" }
配置信息说明:
- 'serverName': 服务器名称,可以自定义,例如 "mcp-node-sse-reference"。
- 'command': 启动服务器的命令,这里使用 'node' (假设您已将Node.js添加到系统PATH)。
- 'args': 启动命令的参数,这里指定服务器入口文件为 'index.js'。
- 'transport': 传输协议,本项目使用 'sse' (Server-Sent Events)。
- 'baseUrl': 服务器的基础URL,默认为 'http://localhost:3001' (与 'npm run dev' 启动的端口一致)。
MCP客户端配置示例 (以MCP Inspector为例):
在MCP Inspector中,您需要配置 "Servers Cursor",将上述JSON配置粘贴到 Inspector 的服务器配置区域。
基本使用方法
-
启动服务器: 在项目根目录下运行以下命令启动MCP服务器:
npm run dev服务器默认运行在 'http://localhost:3001'。
-
使用MCP客户端连接: 使用MCP客户端 (例如 MCP Inspector) ,根据上述服务器配置信息连接到运行中的MCP服务器。
-
测试工具: 连接成功后,您可以使用MCP客户端调用服务器提供的工具,例如 "calculator" 和 "weather" 工具。在MCP Inspector的界面上,您可以找到可用的工具列表并进行测试。
注意:
- 本项目是一个参考实现,可能不包含MCP协议的所有功能。例如,README中提到 'resources' 和 'prompts' 尚未完全测试。
- 仓库描述中提到可以使用命令 'npx @modelcontextprotocol/inspector node server.js' 测试,但实际项目中入口文件为 'index.js',建议使用 'node index.js' 或 'npm run dev' 启动服务器。MCP客户端配置中的 'args' 也应相应调整为 'index.js'。
- 确保Node.js环境配置正确,并且端口 '3001' 没有被其他程序占用。
信息
分类
AI与计算