使用说明
- 项目简介
- 该仓库包含用于集成测试的简化版 MCP 服务器实现,演示了如何通过 JSON-RPC 处理 MCP 标准请求(如 initialize、tools/list、tools/call),并以最小可运行的服务器形式提供工具执行能力。它旨在帮助验证客户端实现对 MCP 协议的兼容性与基本工作流,而非作为生产级服务器。
- 主要功能点
- 支持 MCP 的初始化握手(initialize),声明协议版本与服务能力。
- 提供工具清单(tools/list),列出可用的工具及其输入结构。
- 支持工具调用(tools/call),对已注册的工具执行简单逻辑并返回结果。
- 基于标准 JSON-RPC 2.0 的请求/响应格式,能够与 LLM 客户端进行标准化交互。
- 作为集成测试用的服务器实现,方便在沙箱/CI 环境中对 MCP 客户端进行端到端验证。
- 安装步骤
- 由于这是一个测试用的 MCP 服务器实现,直接在支持 Node.js 的环境中执行即可。可将以下步骤作为示例执行路径:
- 在一个独立工作目录创建一个 Node.js 环境。
- 将测试服务器脚本保存为一个可执行文件(示例包含的简单实现)。
- 通过 Node 运行服务器脚本:node mcp-server.cjs(或等价的入口脚本)。
- 由于这是一个测试用的 MCP 服务器实现,直接在支持 Node.js 的环境中执行即可。可将以下步骤作为示例执行路径:
- 服务器配置(MCP 客户端配置示例)
说明:以下 JSON 配置仅用于描述 MCP 服务器信息,供 MCP 客户端在连接该服务器时参考。实际客户端无需此处代码即可连接,只需要提供服务器名称、启动命令及参数信息,即可与 MCP 服务器建立连接。
服务器配置示例(JSON,说明性注释在配置说明中给出):
{
"serverName": "addition-server",
"command": "node",
"args": ["mcp-server.cjs"],
"description": "简化的 MCP 服务器示例,用于集成测试,支持 initialize、tools/list、tools/call 等 MCP 请求。"
}
说明:
- serverName:服务器在客户端侧的标识名称,与实现中注册的服务器名称对应(示例中为 addition-server)。
- command:启动服务器的命令。
- args:启动命令的参数数组,例如 ["mcp-server.cjs"]。
- 该配置仅用于描述服务器启动信息,实际 MCP 客户端无需执行服务器端代码即可建立连接,但需要知道要启动的命令与参数以便在测试/模拟环境中部署服务器。
- 基本使用方法
- 启动服务器后,客户端通过 JSON-RPC 将请求发送给服务器,例如:
- initialize:协商协议版本与能力。
- tools/list:获取可用工具列表。
- tools/call:根据工具名称及输入参数执行对应操作并返回结果。
- 客户端在收到响应后可对返回的结果进行后续处理,如呈现给用户、进行上下文拼接或调用其他工具。
- 在集成测试场景中,通常通过测试用例来模拟 MCP 客户端与服务器的交互,以验证服务器对 MCP 请求的正确处理及响应格式。
- 启动服务器后,客户端通过 JSON-RPC 将请求发送给服务器,例如:
信息
分类
AI与计算