使用说明
项目简介
本项目 'mcp-wait' 提供了 TypeScript 和 Python 两种语言实现的 MCP 服务器示例。该服务器实现了一个简单的“等待”工具,可以接受客户端指令,并等待指定的秒数后返回响应。这个项目主要用于演示 MCP 服务器的基本结构和工具的注册与调用流程,方便开发者理解和学习 MCP 协议,或在测试 MCP 客户端时模拟服务器延迟响应的场景。
主要功能点
- MCP 服务器基础框架: 实现了符合 MCP 协议的服务器端基本框架,能够接收和处理 MCP 客户端的请求。
- 工具注册与调用: 注册了一个名为 'wait_seconds' 的工具,允许客户端调用该工具并指定等待时间。
- 延迟响应演示: 服务器在接收到 'wait_seconds' 工具调用请求后,会按照客户端指定的秒数进行等待,然后返回响应,演示了服务器处理耗时操作的能力。
- TypeScript 和 Python 双实现: 提供两种常用编程语言的实现,方便不同技术栈的开发者参考学习。
- Stdio 传输协议: 使用标准的 Stdio 作为 MCP 服务器的传输协议,简化部署和运行。
安装步骤
环境准备
- Python 版本: 确保已安装 Python 3.7 或更高版本。
- Node.js 和 npm (可选, TypeScript 版本): 如果使用 TypeScript 版本,请确保已安装 Node.js 和 npm。
步骤
-
克隆仓库: 将 'mcp-wait' 仓库克隆到本地:
git clone https://github.com/7shi/mcp-wait.git cd mcp-wait -
选择实现版本: 根据需要选择 Python ('py') 或 TypeScript ('ts') 版本。
-
Python 版本:
cd py pip install -r requirements.txt -
TypeScript 版本:
cd ts npm install npm run build
-
服务器配置
MCP 客户端需要配置服务器的启动命令才能连接到 'mcp-wait' 服务器。以下是 Python 和 TypeScript 版本的服务器配置信息示例 (JSON 格式),请根据实际情况配置到您的 MCP 客户端中。
Python 版本配置 (py/server.py)
{ "serverName": "mcp-wait-py", "command": "python", "args": ["py/server.py"] }
- 'serverName': 服务器名称,用于标识服务器。
- 'command': 启动服务器的命令,这里使用 'python' 命令。
- 'args': 命令参数,指定 Python 脚本 'py/server.py' 的路径。
TypeScript 版本配置 (ts/src/index.ts)
{ "serverName": "mcp-wait-ts", "command": "node", "args": ["ts/dist/index.js"] }
- 'serverName': 服务器名称,用于标识服务器。
- 'command': 启动服务器的命令,这里使用 'node' 命令。
- 'args': 命令参数,指定编译后的 JavaScript 文件 'ts/dist/index.js' 的路径。 请注意,TypeScript 版本需要先执行 'npm run build' 命令编译生成 'dist' 目录和 'index.js' 文件。
基本使用方法
-
启动 MCP 服务器: 根据选择的版本,使用上述配置信息在 MCP 客户端中启动 'mcp-wait' 服务器。
-
客户端发送请求: MCP 客户端可以向 'mcp-wait' 服务器发送符合 MCP 协议的请求,例如调用 'wait_seconds' 工具。
一个典型的调用 'wait_seconds' 工具的请求 (JSON-RPC 格式) 可能如下所示:
{ "jsonrpc": "2.0", "id": 1, "method": "call_tool", "params": { "name": "wait_seconds", "arguments": { "seconds": 3 } } }这个请求指示服务器调用 'wait_seconds' 工具,并传递参数 '{"seconds": 3}',服务器将会等待 3 秒后返回响应。
-
服务器返回响应: 服务器在等待指定时间后,会返回包含工具执行结果的 JSON-RPC 响应。 例如,针对上述请求,服务器可能返回如下响应:
{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "Waited for 3 seconds" } ] } }
注意: 'mcp-wait' 服务器主要用于演示和测试目的,实际应用场景中可能需要更复杂的功能和工具。
信息
分类
开发者工具