6.2 KiB
6.2 KiB
MCP Swagger 架构优化方案
概述
本文档描述了 mcp-swagger-api 与 mcp-swagger-server 的关系优化方案,确保两者各司其职,形成完整的MCP生态系统。
1. 架构定位
mcp-swagger-api (Web服务层)
角色: 企业级Web服务、前端集成、动态API管理
核心能力:
- 🌐 RESTful API服务
- 🔥 热更新和动态配置
- 📊 服务监控和管理
- 🔗 前端集成支持
- 📈 多租户和权限管理
- 🚀 企业级部署支持
使用场景:
- Web应用后端服务
- 前端集成(mcp-swagger-ui)
- 企业内部API管理平台
- 多用户/多租户场景
- 需要权限控制的环境
mcp-swagger-server (独立MCP服务)
角色: 轻量级MCP服务器、CLI工具、独立部署
核心能力:
- 🎯 纯MCP协议支持
- 🛠️ CLI工具和脚本支持
- 📦 轻量级独立部署
- 🔄 自动重启和管理
- 🎪 演示和原型验证
- 🔧 开发调试工具
使用场景:
- Claude Desktop等MCP客户端直连
- CI/CD流水线集成
- 开发测试和原型验证
- 轻量级生产环境
- 命令行工具使用
2. 技术架构关系
┌─────────────────────────────────────────────────────────────┐
│ MCP Swagger 生态系统 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ mcp-swagger-ui │◄────────┤ mcp-swagger-api │ │
│ │ (前端界面) │ │ (NestJS Web服务) │ │
│ │ │ │ │ │
│ │ • 动态配置 │ │ • REST API │ │
│ │ • 实时监控 │ │ • 嵌入式MCP服务 │ │
│ │ • 工具管理 │ │ • 热更新支持 │ │
│ └─────────────────┘ │ • 企业级功能 │ │
│ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────────────┐ ┌─────────────────────────┐ │
│ │ MCP客户端(Claude等) │ │ mcp-swagger-server │ │
│ │ │◄─┤ (独立MCP服务) │ │
│ │ • 直接MCP协议通信 │ │ │ │
│ │ • stdio/sse/ws传输 │ │ • CLI工具 │ │
│ │ • 轻量级集成 │ │ • 独立部署 │ │
│ └─────────────────────────────┘ │ • 自动管理 │ │
│ │ • 开发调试 │ │
│ └─────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ mcp-swagger-parser │ │
│ │ (共享解析核心) │ │
│ │ │ │
│ │ • OpenAPI解析 │ │
│ │ • MCP工具生成 │ │
│ │ • 类型安全 │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
3. 优化实施计划
阶段1: mcp-swagger-api 增强 (已完成)
✅ 实现EmbeddedMCPService ✅ 支持动态OpenAPI输入 ✅ REST API控制器 ✅ 热更新功能 ✅ 状态监控
阶段2: mcp-swagger-server 独立增强 (已完成)
✅ CLI功能实现 ✅ 多传输协议支持 ✅ 自动管理和重启 ✅ 独立部署能力
阶段3: 企业级功能增强 (建议实施)
- mcp-swagger-api 权限管理
- 多租户支持
- API网关集成
- 监控和日志系统
- 配置管理中心
阶段4: 开发体验优化 (建议实施)
- 统一的开发文档
- 部署脚本和模板
- 性能优化
- 测试覆盖率提升
4. 使用决策指南
选择 mcp-swagger-api 的情况
- ✅ 构建Web应用/服务
- ✅ 需要前端界面集成
- ✅ 需要用户管理和权限控制
- ✅ 企业级部署和管理
- ✅ 需要REST API接口
- ✅ 多租户或SaaS服务
选择 mcp-swagger-server 的情况
- ✅ 直接与Claude Desktop集成
- ✅ 轻量级独立部署
- ✅ CLI工具和脚本使用
- ✅ 开发测试和原型验证
- ✅ CI/CD流水线集成
- ✅ 单用户或简单场景
同时使用两者的情况
- ✅ 大型企业环境
- ✅ 多种客户端需求
- ✅ 开发+生产环境分离
- ✅ 灵活的部署策略
5. 总结
两个项目形成了完整的MCP生态系统:
- mcp-swagger-api: 企业级Web服务,面向集成和管理
- mcp-swagger-server: 轻量级MCP服务器,面向直连和工具化
建议保留两者,它们解决了不同层次的问题,满足了从个人开发者到企业用户的各种需求。