架构图
核心模块
MCP 网关(mcp-gateway)
MCP Gateway 是系统的核心组件,负责处理所有的 MCP 协议请求:请求处理
- 统一入口:
/*监听所有 HTTP 请求 - 路由分发:根据路由前缀动态分发请求
协议转换
- 协议解析:解析 JSON-RPC 格式请求
- Tool 分发:解析工具名称,构造调用参数
主要功能
管理后台(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 回调和事件触发机制
数据库服务
数据库服务
可直接与现有数据库系统集成,支持多种数据库类型
数据流
部署架构
单机部署
All-in-One 部署
所有服务运行在同一台机器上,适合开发和测试环境
分布式部署
微服务架构
各个组件独立部署,支持横向扩展和负载均衡
容器化部署
使用 Docker 和 Kubernetes 进行容器化部署
扩展性设计
MCP Gateway 采用模块化设计,支持以下扩展:- 协议扩展:支持新的 MCP 协议版本
- 存储扩展:支持新的存储后端
- 认证扩展:支持多种认证机制
- 监控扩展:集成各种监控和日志系统