概述了 MCP Gateway 系统的整体架构,包括网关本身、管理后台、配套 API、存储机制以及与外部服务的集成方式。

架构图

架构图正在更新中,将在后续版本中提供详细的系统架构图。

核心模块

MCP 网关(mcp-gateway)

MCP Gateway 是系统的核心组件,负责处理所有的 MCP 协议请求:

请求处理

  • 统一入口/* 监听所有 HTTP 请求
  • 路由分发:根据路由前缀动态分发请求

协议转换

  • 协议解析:解析 JSON-RPC 格式请求
  • Tool 分发:解析工具名称,构造调用参数

主要功能

1

请求路由

根据路由前缀和后缀(/sse/message/mcp)进行请求分发

2

协议解析

对 JSON-RPC 格式进行解析,提取方法与参数

3

服务调用

针对外部服务发起调用并解析结果

4

配置读取

动态加载和应用配置信息

管理后台(web)

提供可视化的管理界面,包含以下核心模块:

管理后台后端服务(apiserver)

提供完整的后端 API 服务:

API 服务

  • 配置管理 API
  • 用户接口管理
  • 聊天记录查询

配置管理

  • 配置写入存储
  • 热更新通知
  • 权限控制

存储系统

配置存储

存储所有 MCP 服务、工具、路由等配置信息:

磁盘存储

YAML 文件形式,适合开发环境

SQLite

轻量级数据库,适合单机部署

PostgreSQL/MySQL

企业级数据库,适合生产环境

Web 数据存储

存储用户数据、会话记录等:

  • 用户账户信息
  • 聊天会话历史
  • 系统配置数据
  • 操作日志记录

外部服务集成

MCP Gateway 设计为与现有业务系统无缝集成:

数据流

1

请求接收

MCP Client 发送请求到 MCP Gateway 的指定端点

2

协议解析

Gateway 解析 MCP 协议格式,提取工具调用信息

3

配置查找

根据工具名称查找对应的配置信息

4

服务调用

使用配置的模板和参数调用后端服务

5

响应处理

处理后端服务响应,转换为 MCP 协议格式

6

结果返回

将处理结果返回给 MCP Client

部署架构

单机部署

All-in-One 部署

所有服务运行在同一台机器上,适合开发和测试环境

分布式部署

微服务架构

各个组件独立部署,支持横向扩展和负载均衡

容器化部署

使用 Docker 和 Kubernetes 进行容器化部署

扩展性设计

MCP Gateway 采用模块化设计,支持以下扩展:

  • 协议扩展:支持新的 MCP 协议版本
  • 存储扩展:支持新的存储后端
  • 认证扩展:支持多种认证机制
  • 监控扩展:集成各种监控和日志系统

想要深入了解各个组件的具体实现,请参考对应的配置文档和开发指南。