使用说明
项目简介
本项目 '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): 提供友好的命令行界面,方便用户进行服务器管理和测试操作。
安装步骤
- 克隆仓库
git clone https://github.com/kaioobrabo/mcp-client-server.git cd mcp-client-server - 安装依赖
确保你已经安装了 Node.js 和 npm。在项目根目录下运行:
npm install - 构建项目
运行构建命令编译 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 服务器。
基本使用方法
-
启动 MCP 服务器 在项目根目录下,运行以下命令启动 'mcp-client-server' 项目的 MCP 服务器部分:
npm run start或者直接运行编译后的 JavaScript 文件:
node dist/index.js启动后,MCP 服务器将通过 Stdio 监听请求。
-
使用命令行客户端 '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 服务器。
信息
分类
开发者工具