MCP Gateway 架构演进

从网状直连到星型网关的架构演进,解决多客户端配置重复的痛点。

#type / synthesis #status / evergreen #tech / ai #resource / docker #resource / mcp

[!info] related notes

MCP Gateway 架构演进

主题范围

本文解释 MCP 工具调用架构从”网状直连”到”星型网关”的演进过程,以及为什么 Docker MCP Gateway 能解决多客户端配置重复的痛点。

为什么要把这些概念放在一起理解

当开发者同时使用多个 AI 客户端(Copilot、OpenCode、Codex)和多个 MCP Server(数据库、搜索、文件系统)时,会面临 M×N 的配置复杂度问题。理解架构演进有助于选择正确的工具链方案。

架构演进路径

第一阶段:网状直连(M×N 复杂度)

┌─────────┐     ┌─────────────┐
│ Copilot │────→│ MCP Server A│
└─────────┘     └─────────────┘

     │          ┌─────────────┐
     └─────────→│ MCP Server B│
                └─────────────┘

┌─────────┐     ┌─────────────┐
│ OpenCode│────→│ MCP Server A│
└─────────┘     └─────────────┘

     │          ┌─────────────┐
     └─────────→│ MCP Server B│
                └─────────────┘

问题

  • 每个客户端重复配置相同的 Server 路径、API Key
  • 不同 Server 依赖不同运行环境(Node.js, Python, uvx)
  • 密钥散落在各个配置文件中
  • 更新 API Key 需要修改 N 个文件

第二阶段:星型网关(N+1 复杂度)

┌─────────┐
│ Copilot │──────┐
└─────────┘      │

┌─────────┐  ┌─────────┐     ┌─────────────┐
│ OpenCode│──→│ Gateway │────→│ MCP Server A│
└─────────┘  └─────────┘     └─────────────┘

┌─────────┐      │           ┌─────────────┐
│  Codex  │──────┴──────────→│ MCP Server B│
└─────────┘                  └─────────────┘

优势

  • 所有客户端只需配置 Gateway 一个入口
  • Server 运行在隔离容器中,无环境冲突
  • API Key 统一管理,单点修改全局生效
  • 新增工具后所有客户端立即可用

对比表

维度网状直连星型网关
配置复杂度M×N(客户端×服务器)M+1(客户端+网关)
环境管理各客户端需独立安装依赖容器化隔离,无需本地依赖
密钥安全散落各配置文件Docker Secrets 统一管理
更新成本修改 N 个文件修改 1 处全局生效
资源占用各客户端独立启动进程共享容器,资源更优
依赖条件无额外依赖需要 Docker Desktop 运行

易混淆点

Gateway 不等于 Agent

  • Gateway:负责路由和代理,是通信中间层
  • Agent:负责任务编排和决策,是智能执行层

Gateway 让 Agent 更容易调用工具,但本身不参与决策。

Gateway 不等于 MCP Server

  • Gateway:代理多个 Server,提供统一入口
  • MCP Server:提供具体工具能力(如搜索、文件操作)

相关专题

创建于 2026/3/24 更新于 2026/5/27