使用说明

项目简介

本项目 '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。

步骤

  1. 克隆仓库: 将 'mcp-wait' 仓库克隆到本地:

    git clone https://github.com/7shi/mcp-wait.git
    cd mcp-wait
  2. 选择实现版本: 根据需要选择 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' 文件。

基本使用方法

  1. 启动 MCP 服务器: 根据选择的版本,使用上述配置信息在 MCP 客户端中启动 'mcp-wait' 服务器。

  2. 客户端发送请求: 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 秒后返回响应。

  3. 服务器返回响应: 服务器在等待指定时间后,会返回包含工具执行结果的 JSON-RPC 响应。 例如,针对上述请求,服务器可能返回如下响应:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
        "content": [
          {
            "type": "text",
            "text": "Waited for 3 seconds"
          }
        ]
      }
    }

注意: 'mcp-wait' 服务器主要用于演示和测试目的,实际应用场景中可能需要更复杂的功能和工具。

信息

分类

开发者工具