项目简介
Dive Echo Server 是 Dive AI Agent 项目的一部分,它是一个简单的 Model Context Protocol (MCP) 服务器实现,主要用于验证 MCP 客户端与服务器之间的连接和基本功能。该服务器提供了一个 "echo" 工具,可以接收客户端发送的消息并原样返回,帮助开发者快速测试和理解 MCP 协议的工作流程。Dive Echo Server 支持 Stdio 和 SSE 两种传输协议,方便在不同场景下进行测试和集成。
主要功能点
- 资源管理: 不适用,Echo Server 不管理任何资源。
- 工具注册与执行: 注册并提供一个 "echo" 工具,用于接收和返回消息。
- Prompt 模板: 不适用,Echo Server 不涉及 Prompt 模板。
- JSON-RPC 通信: 完全实现了 MCP 协议的 JSON-RPC 通信规范。
- Stdio 和 SSE 传输: 支持通过标准输入输出流 (Stdio) 和服务器发送事件 (SSE) 两种方式与客户端通信。
- 能力声明: 提供服务器名称、版本和功能描述等能力信息。
安装步骤
Dive Echo Server 是一个预构建的 JavaScript 脚本,无需额外安装步骤。您只需确保您的系统已安装 Node.js 运行时环境即可。
服务器配置
要将 MCP 客户端连接到 Dive Echo Server,您需要在客户端的 MCP 服务器配置中添加以下信息。以下是分别针对 Stdio 和 SSE 传输的配置示例:
1. Stdio 传输配置 (默认):
"mcpServers": { "echo_stdio": { "enabled": true, "command": "node", "args": [ "/path/to/dive/prebuilt/scripts/echo.js" // 请替换为 echo.js 脚本的实际路径 ] } }
参数注释:
- '"echo_stdio"': 服务器名称,您可以自定义。
- '"enabled": true': 启用此服务器配置。
- '"command": "node"': 运行服务器的命令,这里使用 Node.js 解释器。
- '"args": [...]': 传递给 'node' 命令的参数列表。
- '"/path/to/dive/prebuilt/scripts/echo.js"': 重要: 请将此路径替换为您本地 Dive 仓库中 'prebuilt/scripts/echo.js' 脚本的绝对路径。
2. SSE 传输配置:
"mcpServers": { "echo_sse": { "enabled": true, "transport": "sse", "command": "node", "args": [ "/path/to/dive/prebuilt/scripts/echo.js", // 请替换为 echo.js 脚本的实际路径 "--sse" ], "url": "http://localhost:2222/sse" } }
参数注释:
- '"echo_sse"': 服务器名称,您可以自定义。
- '"enabled": true': 启用此服务器配置。
- '"transport": "sse"': 指定使用 SSE 传输协议。
- '"command": "node"': 运行服务器的命令,这里使用 Node.js 解释器。
- '"args": [...]': 传递给 'node' 命令的参数列表。
- '"/path/to/dive/prebuilt/scripts/echo.js"': 重要: 请将此路径替换为您本地 Dive 仓库中 'prebuilt/scripts/echo.js' 脚本的绝对路径。
- '"--sse"': 启动 Echo Server 的 SSE 模式参数。
- '"url": "http://localhost:2222/sse"': SSE 服务器的 URL 地址。客户端将通过此 URL 与服务器建立 SSE 连接。请确保端口 '2222' 未被占用,或者根据需要修改端口。
注意: 请根据您的实际环境修改 '/path/to/dive/prebuilt/scripts/echo.js' 为 'echo.js' 脚本在您本地文件系统中的绝对路径。
基本使用方法
配置完成后,您的 MCP 客户端应该能够连接到 Dive Echo Server。您可以使用客户端提供的工具调用功能,调用名为 'echo' 的工具,并传递 'message' 参数。服务器将返回包含您发送消息的回应,例如 '[MCP-ECHO] Received message: Your Message'。
示例工具调用请求 (JSON-RPC):
{ "jsonrpc": "2.0", "method": "callTool", "params": { "name": "echo", "arguments": { "message": "Hello MCP Server!" } }, "id": 1 }
预期响应 (JSON-RPC):
{ "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "[MCP-ECHO] Received message: Hello MCP Server!" } ], "isError": false }, "id": 1 }
您可以通过 Dive Echo Server 验证 MCP 客户端是否正确配置,以及基本的请求和响应流程是否正常工作。
信息
分类
开发者工具