MCP 网关架构总览
概述了 MCP Gateway 系统的整体架构,包括网关本身、管理后台、配套 API、存储机制以及与外部服务的集成方式。
架构图
模块说明
MCP 网关(mcp-gateway)
- 入口:
/*
统一监听所有 HTTP 请求,在应用层根据配置去动态分发 - 路由层:根据路由前缀和后缀
/sse
、/message
、/mcp
进行分发 - 协议解析:对 JSON-RPC 格式进行解析,提取方法与参数
- Tool分发:解析工具名称,构造调用参数
- 外部服务调用:针对外部服务发起调用并解析结果
- 配置存储(读取):加载配置信息
管理后台(web)
- 代理配置模块:用于配置 MCP 网关代理/工具
- 对话实验台:用于测试MCP的简易Chat,主要提供给开发者和需要集成到自研系统中的用户参考
- 用户管理模块:用户权限、信息维护
管理后台后端服务(apiserver)
- 主服务模块:提供配置管理、用户接口、聊天记录查询等 API
- 配置存储(写入):将修改写入数据库
- 通知器(发送端):当配置变化时通知 MCP 网关进行热更新
配置存储
- 存储所有 MCP 服务、工具、路由等配置
- 支持多种实现:磁盘(yaml)、SQLite、PostgreSQL、MySQL 等
Web 数据存储
- 存储用户数据、会话记录等
- 支持多种实现:SQLite、PostgreSQL、MySQL 等
外部服务
- 工具调用所依赖的后端服务系统