使用说明

项目简介

本项目 'mcp-client-server' 是一个独特的MCP实现,它同时扮演着 MCP客户端MCP服务器 的角色。其核心目的是为了简化 MCP 服务器的开发和测试流程,尤其方便开发者(如 Claude)在无需频繁重置应用的情况下进行 MCP 的迭代开发和验证。

简单来说,你可以使用这个项目 部署和管理其他的 MCP 服务器,并 测试这些服务器的功能。它本身也是一个 MCP 服务器,对外提供了一系列用于管理和测试 MCP 服务器的工具。

主要功能点

  • MCP 服务器功能: 实现了 MCP 协议的服务端,可以接收和处理来自 MCP 客户端的请求。
  • MCP 客户端功能: 作为 MCP 客户端,可以与其他的 MCP 服务器(包括自身部署的服务器)进行交互,调用工具、获取日志等。
  • 服务器部署与管理: 能够自动化部署和管理 MCP 服务器实例,支持启动、停止、列出服务器和查看服务器日志等操作。
  • 工具调用: 提供调用已部署 MCP 服务器上的工具的能力,方便进行功能测试和验证。
  • 自动化测试: 内置基础的测试框架,可以对部署的 MCP 服务器进行自动化测试,快速验证服务器的运行状态和功能。
  • Stdio 传输协议: 使用标准的 Stdio 作为 MCP 通信协议,易于集成和部署。
  • 命令行界面 (CLI): 提供友好的命令行界面,方便用户进行服务器管理和测试操作。

安装步骤

  1. 克隆仓库
    git clone https://github.com/kaioobrabo/mcp-client-server.git
    cd mcp-client-server
  2. 安装依赖 确保你已经安装了 Node.js 和 npm。在项目根目录下运行:
    npm install
  3. 构建项目 运行构建命令编译 TypeScript 代码:
    npm run build

服务器配置 (MCP 客户端配置)

对于 MCP 客户端(例如 Claude),要连接此 MCP 服务器,你需要配置服务器的启动命令和参数。由于 'mcp-client-server' 项目编译后通过 Node.js 运行 'dist/index.js',并使用 Stdio 协议,因此客户端的 MCP 服务器配置信息(JSON 格式)应如下所示:

{
  "serverName": "mcp-test-manager",  // 你可以自定义服务器名称
  "command": "node",              // 启动命令为 node
  "args": ["dist/index.js"]       // 命令参数为 dist/index.js,指向编译后的服务器入口文件
}

配置信息参数注释:

  • 'serverName': 为你的 MCP 服务器配置指定一个名称,方便在客户端中识别和管理。可以根据你的需要自定义。
  • 'command': 运行 MCP 服务器的命令,这里是 'node',表示使用 Node.js 运行时环境。
  • 'args': 命令的参数,这里 '["dist/index.js"]' 指定了服务器的入口文件路径。请确保路径 'dist/index.js' 是相对于 MCP 客户端的工作目录或者使用绝对路径。

请注意: 此配置是针对 'mcp-client-server' 项目作为 MCP 服务器 被其他 MCP 客户端连接时使用的配置。 如果你要使用 'mcp-client-server' 提供的 'test-runner.ts' 命令行工具来管理和测试 其他 MCP 服务器,则 不需要 配置这里的服务器信息。'test-runner.ts' 自身已经是一个客户端,它会直接连接到 'dist/index.js' 运行的 MCP 服务器。

基本使用方法

  1. 启动 MCP 服务器 在项目根目录下,运行以下命令启动 'mcp-client-server' 项目的 MCP 服务器部分:

    npm run start

    或者直接运行编译后的 JavaScript 文件:

    node dist/index.js

    启动后,MCP 服务器将通过 Stdio 监听请求。

  2. 使用命令行客户端 'test-runner.ts' 打开另一个终端窗口,进入项目根目录。你可以使用 'test-runner.ts' 提供的命令行界面来管理和测试 MCP 服务器。

    运行 'test-runner.ts' 脚本:

    npm run test-client

    或者直接运行:

    node dist/test-runner.js

    你将看到一个交互式菜单,包含以下选项:

    === MCP Test Client CLI ===
    1. Deploy server        // 部署新的 MCP 服务器 (测试目标服务器)
    2. List servers         // 列出已部署的服务器
    3. Get server logs      // 获取服务器日志
    4. Stop server          // 停止服务器
    5. Call tool            // 调用服务器上的工具
    6. Run tests            // 运行服务器测试
    7. Exit                 // 退出客户端
    Select an option:

    根据菜单提示,选择相应的数字进行操作。例如:

    • 部署服务器 (1. Deploy server): 输入服务器名称和源代码路径,即可部署一个新的 MCP 服务器实例进行测试。
    • 调用工具 (5. Call tool): 输入服务器名称、工具名称和参数,即可调用已部署服务器上的工具并查看结果。
    • 运行测试 (6. Run tests): 对已部署的服务器运行基础测试。

注意: 本项目主要用于 测试和管理 MCP 服务器,它自身提供的工具也都是围绕这个目标设计的,例如 'mcp_test_deploy_server' 工具用于部署新的 MCP 服务器。 它 并非一个通用的、提供业务资源的 MCP 服务器

信息

分类

开发者工具