MCP Proxy Server 使用说明

项目简介

MCP Proxy Server 是一个代理服务器,用于聚合多个独立的 MCP 资源服务器。它充当一个中心枢纽,将来自不同后端 MCP 服务器的资源 (Resources)、工具 (Tools) 和 Prompt 模板 (Prompts) 整合到一个统一的接口中,方便 MCP 客户端访问。

主要功能点

  • 统一接口: 将多个 MCP 服务器的功能整合到一个单一的访问点,简化客户端配置和管理。
  • 资源聚合: 汇总来自多个后端服务器的资源,并维护统一的资源 URI 方案。
  • 工具聚合: 汇总来自多个后端服务器的工具,并支持将工具调用路由到正确的后端服务器。
  • Prompt 聚合: 汇总来自多个后端服务器的 Prompt 模板,并支持 Prompt 请求的路由。
  • 配置灵活: 通过 JSON 配置文件管理后端 MCP 服务器的连接信息。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm 包管理器。
  2. 下载仓库代码: 克隆或下载 'adamwattis_mcp-proxy-server' 仓库代码到本地。
  3. 安装依赖: 打开终端,进入仓库根目录,运行命令 'npm install' 安装项目依赖。
  4. 构建项目: 运行命令 'npm run build' 构建项目,生成可执行文件。

服务器配置

  1. 创建配置文件: 在仓库根目录下复制 'config.example.json' 文件并重命名为 'config.json'。
  2. 编辑配置文件 'config.json': 根据你的后端 MCP 服务器配置,修改 'config.json' 文件。
    {
      "servers": [
        {
          "name": "Server 1",
          "transport": {
            "command": "/path/to/server1/build/index.js"  // 后端服务器 1 的启动命令,例如 Node.js 服务器的入口文件路径
          }
        },
        {
          "name": "Server 2",
          "transport": {
            "command": "server2-command",    // 后端服务器 2 的启动命令
            "args": ["--option1", "value1"] // 后端服务器 2 启动命令的可选参数
          }
        }
      ]
    }
    • 'servers': 配置后端 MCP 服务器列表。
    • 'servers[].name': 后端服务器的名称,用于标识和管理。
    • 'servers[].transport.command': 后端 MCP 服务器的启动命令。 这是 MCP 客户端连接 MCP 服务器时需要配置的关键信息。你需要提供能够启动你的后端 MCP 服务器的完整命令,例如 Node.js 服务器的入口文件路径,或者其他可执行文件的路径。
    • 'servers[].transport.args': 后端 MCP 服务器启动命令的可选参数。 如果你的后端 MCP 服务器启动时需要额外的命令行参数,可以在这里配置。

基本使用方法

  1. 配置环境变量: 设置环境变量 'MCP_CONFIG_PATH' 指向你的 'config.json' 文件的绝对路径。例如:
    export MCP_CONFIG_PATH=/path/to/your/config.json  # Linux/macOS
    set MCP_CONFIG_PATH=C:\path\to\your\config.json   # Windows
  2. 启动 Proxy Server: 在终端中,进入仓库根目录,运行命令 'npm run start' 或 'node build/index.js' 启动 MCP Proxy Server。
  3. 配置 MCP 客户端: 在你的 MCP 客户端(例如 Claude Desktop),配置 MCP 服务器连接信息时,将 MCP Proxy Server 作为你的 MCP 服务器。 你需要配置 MCP Proxy Server 的启动命令。对于 Claude Desktop,你需要在 'claude_desktop_config.json' 文件中配置 'mcpServers',使用 MCP Proxy Server 的入口文件路径作为 'command',并确保 'env' 环境变量 'MCP_CONFIG_PATH' 指向正确的配置文件路径。
    {
      "mcpServers": {
        "mcp-proxy": {
          "command": "/path/to/mcp-proxy-server/build/index.js", // MCP Proxy Server 的启动命令,指向构建后的入口文件
          "env": {
            "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json" // 配置文件绝对路径
          }
        }
      }
    }
    注意: MCP 客户端需要配置的是 MCP Proxy Server 的启动命令 ('command'),以及可能的 启动参数 ('args') 和 环境变量 ('env')。 用户需要根据实际部署情况,将 '/path/to/mcp-proxy-server/build/index.js' 替换为 MCP Proxy Server 构建后的入口文件路径,并将 '/absolute/path/to/your/config.json' 替换为 'config.json' 文件的实际绝对路径。 MCP 客户端 不需要 配置 'config.json' 文件中的后端服务器信息,这些信息是 MCP Proxy Server 内部使用的。

现在,你的 MCP 客户端就可以通过 MCP Proxy Server 访问聚合后的资源、工具和 Prompt 服务了。

信息

分类

开发者工具