项目简介

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 客户端是否正确配置,以及基本的请求和响应流程是否正常工作。

信息

分类

开发者工具