架构图
架构图正在更新中,将在后续版本中提供详细的系统架构图。
核心模块
MCP 网关(mcp-gateway)
MCP Gateway 是系统的核心组件,负责处理所有的 MCP 协议请求:请求处理
- 统一入口:
/*监听所有 HTTP 请求 - 路由分发:根据路由前缀动态分发请求
协议转换
- 协议解析:解析 JSON-RPC 格式请求
- Tool 分发:解析工具名称,构造调用参数
主要功能
1
请求路由
根据路由前缀和后缀(
/sse、/message、/mcp)进行请求分发2
协议解析
对 JSON-RPC 格式进行解析,提取方法与参数
3
服务调用
针对外部服务发起调用并解析结果
4
配置读取
动态加载和应用配置信息
管理后台(web)
提供可视化的管理界面,包含以下核心模块:代理配置模块
代理配置模块
用于配置 MCP 网关代理和工具,支持图形化配置界面
对话实验台
对话实验台
用于测试 MCP 的简易 Chat,主要提供给开发者和需要集成到自研系统中的用户参考
用户管理模块
用户管理模块
用户权限、信息维护和访问控制
管理后台后端服务(apiserver)
提供完整的后端 API 服务:API 服务
- 配置管理 API
- 用户接口管理
- 聊天记录查询
配置管理
- 配置写入存储
- 热更新通知
- 权限控制
存储系统
配置存储
存储所有 MCP 服务、工具、路由等配置信息:SQLite
轻量级数据库,适合单机部署和开发环境
PostgreSQL/MySQL
生产级数据库,适合多节点部署
API 存储
企业级数据库,适合生产环境
Web 数据存储
存储用户数据、会话记录等:- 用户账户信息
- 聊天会话历史
- 系统配置数据
- 操作日志记录
外部服务集成
MCP Gateway 设计为与现有业务系统无缝集成:REST API 服务
REST API 服务
支持标准的 REST API 调用,包括 GET、POST、PUT、DELETE 等方法
Webhook 服务
Webhook 服务
支持 Webhook 回调和事件触发机制
数据库服务
数据库服务
可直接与现有数据库系统集成,支持多种数据库类型
数据流
1
请求接收
MCP Client 发送请求到 MCP Gateway 的指定端点
2
协议解析
Gateway 解析 MCP 协议格式,提取工具调用信息
3
配置查找
根据工具名称查找对应的配置信息
4
服务调用
使用配置的模板和参数调用后端服务
5
响应处理
处理后端服务响应,转换为 MCP 协议格式
6
结果返回
将处理结果返回给 MCP Client
部署架构
单机部署
All-in-One 部署
所有服务运行在同一台机器上,适合开发和测试环境
分布式部署
微服务架构
各个组件独立部署,支持横向扩展和负载均衡
容器化部署
使用 Docker 和 Kubernetes 进行容器化部署
扩展性设计
MCP Gateway 采用模块化设计,支持以下扩展:- 协议扩展:支持新的 MCP 协议版本
- 存储扩展:支持新的存储后端
- 认证扩展:支持多种认证机制
- 监控扩展:集成各种监控和日志系统
想要深入了解各个组件的具体实现,请参考对应的配置文档和开发指南。