mcp-swagger-server/docs/architecture-optimization-p...

6.2 KiB
Raw Blame History

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服务器面向直连和工具化

建议保留两者,它们解决了不同层次的问题,满足了从个人开发者到企业用户的各种需求。