OpenAPI转MCP生成器

自动从OpenAPI 3.0/3.1规范生成MCP服务器,使LLM能够与企业微服务进行标准化交互。

  • by Jav9710
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Jav9710/openapi-to-mcp-generator

使用说明

OpenAPI到MCP生成器

根据OpenAPI 3.0/3.1规范自动生成MCP服务器(模型上下文协议)。允许LLMS以标准化的方式与您公司的微服务交互。

主要特征

核心功能

  • 完整的 OpenAPI 解析器:支持OpenAPI 3.0.x和3.1.x,并进行严格验证
  • 自动处理:将终结点转换为工具,将架构转换为资源
  • 端点选择:通过CLI、交互模式或Web GUI选择要包括的端点
  • 支持FASTMCP和MCP:使用FASTMCP(推荐)或标准MCP生成服务器
  • 灵活认证:Soporta API密钥、承载令牌、基本身份验证和OAuth2
  • 客户端HTTP弹性客户端:指数退货自动重试
  • 绝望的Docker:图像Docker准备与Gunicorn一起制作

UI/UX功能✨

  • 🌙 暗/亮模式:暗/亮主题,自动系统检测
  • 📋 吐司通知:优雅而非侵入性的通知系统
  • 📂 拖放:拖动OpenAPI文件以立即加载它们
  • 🕒 最新规格:加载的最后10个规范的历史
  • 💾 导出/导入配置:导出和导入端点选择配置
  • 🔖 预设:保存并重复使用端点选择作为预设
  • 📊 进度条:带有10个可见步骤的详细进度条
  • ⚡ 自动清理:自动清理临时文件和过期会话
  • 📚 规范库:带有版本控制的完整规范库
  • 🔄 版本控制:带有视觉Timeline和Diff Viewer的版本历史
  • ⭐ 收藏夹和标签:组织规格的收藏夹和标签系统
  • 🔍 高级搜索:高级规格搜索和过滤
  • 📈 生成跟踪:记录所有执行的MCP代
  • ⚙️ 高级配置:按规格高级配置
  • 📝 双模式编辑器:GUI表单和带有切换的Yaml/JSON编辑器
  • 🎨 配置描述文件:可重复使用(开发、生产等)
  • ✅ 实时验证:带有错误和警告的实时验证
  • 💾 配置导入/导出:在YAML中导出和导入配置

企业功能

  • 🔒 全面审计:45种严重程度为4级的事件
  • 🔐 加密:AES-256,带有Fernet和用于敏感规范的PBKDF2推导
  • 📊 仪表板管理员:使用指标,按团队划分的活动,世代
  • 🚨 可配置警报:10种带有阈值和通知的警报
  • 📋 自动报告:8种带有调度的JSON/CSV/HTML报告
  • 🗃️ 数据保留:具有自动清理功能的9种数据类型的保留策略
  • 🌐 多数据库:支持SQLite、PostgreSQL和MongoDB

人工智能和云功能

  • 🤖 Olama集成:智能规范分析、文档生成、IA安全审计
  • 📦 MinIO存储:S3存储-支持规范、MCP工件和报告
  • 🔐 OAuth2管理:通过OIDC发现和自动刷新集中管理令牌
  • ⚙️ 功能开关:独立启用/禁用模块(AI、存储、OAuth2)
  • 🐳 开发基础设施:Docker-与PostgreSQL、Redis、Minio和Ollama一起创作

开发者体验

  • 🎯 智能错误消息:上下文错误、解决方案建议和文档链接
  • 🔍 从URL加载:从远程URL导入OpenAPI规范
  • 📦 下载为zip:生成和下载压缩MCP服务器
  • 🚀 实时预览:预览生成的代码而不保存它

目录

  1. 安装
  2. 快速启动
  3. 使用方式
  4. 绝望的Docker
  5. MCP框架
  6. 配置
  7. 批处理
  8. 与Claude Desktop的集成
  9. 企业功能
  10. API 参考
  11. 建筑
  12. Mapeo OpenAPI→ MCP
  13. 例子
  14. 考虑因素
  15. 争议

安装

要求

  • Python>=3.10
  • 点对点

基本设施

# Clonar el repositorio
git clone https://github.com/enterprise/openapi-to-mcp.git
cd openapi-to-mcp-generator

# Crear entorno virtual
python -m venv .venv

# Activar entorno virtual
# Linux/Mac:
source .venv/bin/activate
# Windows:
.\.venv\Scripts\activate

# Instalar el paquete
pip install -e .

具有可选功能的安装

# Instalar con modo interactivo CLI (questionary)
pip install -e ".[interactive]"

# Instalar con GUI web (Flask + requests + gunicorn)
pip install -e ".[gui]"

# Instalar con IA (Ollama integration)
pip install -e ".[ai]"

# Instalar con almacenamiento MinIO
pip install -e ".[storage]"

# Instalar con PostgreSQL
pip install -e ".[postgresql]"

# Instalar con Redis (cache, token store, message broker)
pip install -e ".[redis]"

# Instalar con OAuth2
pip install -e ".[oauth2]"

# Instalar todas las características
pip install -e ".[all]"

# Instalar con herramientas de desarrollo
pip install -e ".[dev]"

验证安装

openapi-to-mcp --version
# Output: openapi-to-mcp, version 1.0.0

openapi-to-mcp --help

快速启动

1.准备您的OpenAPI规范

确保您有有效的OpenAPI文件(Yaml或JSON):

# mi-api.yaml
openapi: "3.0.3"
info:
  title: Mi API
  version: "1.0.0"
paths:
  /users:
    get:
      summary: Listar usuarios
      responses:
        "200":
          description: Lista de usuarios

2.生成MCP服务器

openapi-to-mcp generate mi-api.yaml --service-name mi_api

3.运行生成的服务器

cd output/mcp_server_mi_api
pip install -r requirements.txt
python -m src.server

替代方案:使用GUI Web

# Opción 1: Con archivo local
openapi-to-mcp gui mi-api.yaml

# Opción 2: Modo standalone (subir archivo o cargar desde URL)
openapi-to-mcp gui
# o
openapi-to-mcp serve

使用方式

模式1:基本CLI

生成具有所有端点的MCP服务器的最简单方式:

openapi-to-mcp generate <spec_path> --service-name <nombre> [opciones]

主要选择:

选项 描述
--service-name, -n 服务名称(必填)
--output, -o 输出目录(默认:/output)
--service-prefix, -p 工具/资源的前缀
--base-url, -u API的URL基础
--environment, -e 环境:开发、分期、生产
--mcp-framework 框架:fastmcp(默认)o mcp
--include-deprecated Includer端点已弃用
--skip-validation 跳过严格验证
--verbose, -v 详细记录

完整示例:

openapi-to-mcp generate ./specs/users-api.yaml \
    --service-name user_management \
    --service-prefix users \
    --base-url https://api.example.com/v2 \
    --environment production \
    --mcp-framework fastmcp \
    --output ./servers

模式2:带有端点过滤器的CLI

使用全局模式过滤要包括的端点:

# Incluir solo endpoints que coincidan con patrones
openapi-to-mcp generate api.yaml -n myservice \
    --include-endpoints "/v1/api/users*" \
    --include-endpoints "/v1/api/orders*"

# Excluir endpoints específicos
openapi-to-mcp generate api.yaml -n myservice \
    --exclude-endpoints "/internal/*" \
    --exclude-endpoints "*/admin/*"

# Combinar inclusión y exclusión
openapi-to-mcp generate api.yaml -n myservice \
    -i "/api/*" \
    -x "/api/internal/*" \
    -x "/api/debug/*"

支持的模式:

模式 描述 示例
* 任何字符序列 /users* → /users, /users/123
? 单一角色 /user? → /users, /usera
** 任何深度 /api/** → /api/v1/users

模式3:交互式CLI

在终端上交互式选择端点:

# Requiere: pip install questionary
openapi-to-mcp generate api.yaml -n myservice --interactive

互动流程:

┌─────────────────────────────────────────────────────────────┐
│ ¿Cómo deseas seleccionar los endpoints?                    │
│                                                             │
│ > Selección manual (checkboxes)                            │
│   Por patrones (glob)                                      │
│   Por tags (grupos)                                        │
│   Todos los endpoints                                      │
└─────────────────────────────────────────────────────────────┘

选择选项:

  1. 手动选择:列出marcar/desmarcar中的复选框
  2. 按模式:交互式输入全球模式
  3. 按标签:通过其OpenAPI标记选择端点组
  4. 待办事项:包括所有没有过滤器的端点

Modo4:GUI Web

带有预加载文件的可视化端点选择Web图形界面:

# Requiere: pip install flask
openapi-to-mcp gui api.yaml

选项:

openapi-to-mcp gui <spec_path> [opciones]

# Opciones disponibles:
  --port, -p      Puerto del servidor web (default: 5000)
  --no-browser    No abrir el navegador automáticamente
  --output, -o    Directorio de salida (default: ./output)

示例:

openapi-to-mcp gui ./specs/large-api.yaml --port 8080

模式 5: 独立模式 (Web)

在不需要预加载文件的情况下运行GUI。允许:

  • 上传文件:拖放或从资源管理器中选择
  • 从URL加载:输入OpenAPI规范的直接URL
  • 下载为zip:生成服务器并下载压缩
# Opción 1: Comando gui sin argumentos
openapi-to-mcp gui

# Opción 2: Comando serve dedicado
openapi-to-mcp serve --port 5000 --output ./output

上传接口:

┌─────────────────────────────────────────────────────────────────┐
│            OpenAPI to MCP Generator                              │
│                                                                  │
│     ┌─────────────────────────────────────────────────────┐     │
│     │              Carga tu especificación                 │     │
│     │                                                      │     │
│     │    [  Archivo  ]  [    URL    ]                     │     │
│     │                                                      │     │
│     │    ┌────────────────────────────────────────────┐   │     │
│     │    │                                            │   │     │
│     │    │       Arrastra tu archivo aquí             │   │     │
│     │    │                  o                         │   │     │
│     │    │      [ Seleccionar Archivo ]               │   │     │
│     │    │                                            │   │     │
│     │    │  Formatos: .yaml, .yml, .json              │   │     │
│     │    └────────────────────────────────────────────┘   │     │
│     │                                                      │     │
│     │    ─── O cargar desde URL ───                       │     │
│     │                                                      │     │
│     │    [ https://api.example.com/openapi.json ] [Cargar]│     │
│     │                                                      │     │
│     │    Ejemplos: [Petstore API] [GitHub API]            │     │
│     └─────────────────────────────────────────────────────┘     │
│                                                                  │
│     ┌─────────┐  ┌─────────┐  ┌─────────┐                       │
│     │Selección│  │ FastMCP │  │Descarga │                       │
│     │ Visual  │  │  / MCP  │  │  ZIP    │                       │
│     └─────────┘  └─────────┘  └─────────┘                       │
└─────────────────────────────────────────────────────────────────┘

端点选择接口:

┌─────────────────────────────────────────────────────────────────────────┐
│  OpenAPI to MCP Generator                    API: Petstore v1.0        │
├─────────────────────────────────────────────────────────────────────────┤
│  [Vista: Lista ▼] [Buscar: ____________] [Patrón: /users/*] [Agregar]  │
├─────────────────────────────────────────────────────────────────────────┤
│  ┌─── Disponibles (15) ────┐         ┌─── Seleccionados (5) ───┐       │
│  │ □ [GET] /users          │   >>    │ ☑ [GET] /orders         │       │
│  │ □ [POST] /users         │         │ ☑ [POST] /orders        │       │
│  │ □ [GET] /users/{id}     │   <<    │ ☑ [GET] /orders/{id}    │       │
│  │ □ [PUT] /users/{id}     │         │ ☑ [PUT] /orders/{id}    │       │
│  │ □ [DELETE] /users/{id}  │         │ ☑ [DELETE] /orders/{id} │       │
│  └─────────────────────────┘         └─────────────────────────┘       │
│                                                                         │
│  ┌─ Configuración ─────────────────────────────────────────────────┐   │
│  │ Nombre: [myservice    ] Prefijo: [myservice] URL: [          ]  │   │
│  │ Framework: [FastMCP ▼]  Ambiente: [Production ▼]                │   │
│  │ [✓] Descargar como ZIP                                          │   │
│  └─────────────────────────────────────────────────────────────────┘   │
│                                                                         │
│  [Cancelar]                                    [Generar Servidor MCP]   │
└─────────────────────────────────────────────────────────────────────────┘

GUI功能:

  • 柔性负载:本地文件或远程URL
  • Vista列表/标签:在平面视图和按标记分组的视图之间切换
  • 搜索:实时过滤端点
  • 快速模式:使用全局模式添加多个端点
  • 拖放在列表之间拖动端点
  • 双击:快速移动端点
  • 配置:调整名称、前缀、URL、框架和环境
  • 下载ZIP:获取作为压缩文件生成的服务器
  • URL示例:快速加载流行的API(PetStore,GitHub)

绝望的Docker

形象建设

# Construir la imagen
docker build -t openapi-to-mcp .

# Ejecutar el contenedor
docker run -p 5000:5000 openapi-to-mcp

Docker Compose-生产

# Iniciar el servicio
docker-compose up -d

# Ver logs
docker-compose logs -f

# Detener
docker-compose down

docker-compose.yml (生产-仅适用于应用程序):

version: '3.8'

services:
  openapi-to-mcp:
    build: .
    ports:
      - "5000:5000"
    environment:
      - PORT=5000
      - WORKERS=2
      - THREADS=4
    volumes:
      - mcp-output:/app/output
    restart: unless-stopped

volumes:
  mcp-output:

Docker编写-开发(全栈)

包括所有企业服务:PostgreSQL、Redis、Minio和Ollama。

# Levantar todos los servicios de desarrollo
docker-compose -f docker-compose.dev.yml up -d

# Verificar que todo esté corriendo
docker-compose -f docker-compose.dev.yml ps

# Ver logs de un servicio específico
docker-compose -f docker-compose.dev.yml logs -f ollama

服务包括:

服务 端口 描述 控制台
PostgreSQL 16 5432 关系数据库 -
Redis 7 6379 缓存、令牌存储、消息代理 -
MinIO 9000/9001 S3存储-兼容 http://localhost:9001
奥拉玛 11434 用于IA分析的本地LLM -

Minio在启动时自动创建4个桶: openapi-specs, mcp-artifacts, reports, backups.

配置应用程序以使用服务:

# .env
DATABASE_TYPE=postgresql
DB_HOST=localhost
DB_PORT=5432
DB_NAME=openapi_mcp
DB_USER=openapi_mcp
DB_PASSWORD=development

ENABLE_AI=true
ENABLE_STORAGE=true

REDIS_URL=redis://localhost:6379/0
MINIO_ENDPOINT=localhost:9000
OLLAMA_HOST=localhost

Docker环境变量

变量 描述 默认
PORT 服务器端口 5000
OUTPUT_DIR 输出目录 /app/output
WORKERS 枪手工人 2
THREADS 每个工人的线程 4
DATABASE_TYPE Tipo de BD(sqlite/postgresql/mongodb) sqlite
ENABLE_AI 启用集成 Ollama false
ENABLE_STORAGE 启用Minio存储 false
ENABLE_OAUTH2 启用OAuth2管理 错误

使用nginx制作

server {
    listen 80;
    server_name openapi-mcp.example.com;

    location / {
        proxy_pass http://localhost:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

MCP框架

生成器支持两个框架来创建MCP服务器:

FastMCP(推荐)

使用装饰器简化API。适合大多数情况。

openapi-to-mcp generate api.yaml -n myservice --mcp-framework fastmcp

生成的代码:

from fastmcp import FastMCP

mcp = FastMCP("myservice")

@mcp.tool(description="Listar usuarios")
async def myservice_list_users(page: int = 1, limit: int = 10) -> str:
    response = await http_client.request(
        method="GET",
        path="/users",
        params={"page": page, "limit": limit}
    )
    return json.dumps(response)

if __name__ == "__main__":
    mcp.run()

MCP标准

具有更多控制的低级别API。对于晚期病例。

openapi-to-mcp generate api.yaml -n myservice --mcp-framework mcp

比较:

功能 FASTMCP 标准MCP
语法 简单修饰语 显式API
学习曲线 低 平均
灵活性 中等 高
生成的代码 更简洁 更详细
推荐用于 大多数情况 高级定制

配置

生成的服务器配置文件

# config/config.yaml
service_name: user_management
base_url: https://api.enterprise.com/v2
timeout: 30
environment: production
log_level: INFO

retry:
  max_retries: 3
  backoff_factor: 0.5
  retry_statuses:
    - 429
    - 500
    - 502
    - 503
    - 504

auth:
  type: bearer  # none, api_key, bearer, basic, oauth2

环境变量

# .env
BASE_URL=https://api.enterprise.com/v2
TIMEOUT=30
LOG_LEVEL=INFO
ENVIRONMENT=production

# Autenticación
API_KEY=your_api_key
AUTH_TOKEN=your_bearer_token

批处理

为多个微服务生成服务器:

# batch-config.yaml
output_dir: ./output

services:
  - name: users
    spec: ./specs/users-api.yaml
    base_url: https://users.api.com

  - name: orders
    spec: ./specs/orders-api.yaml
    base_url: https://orders.api.com
openapi-to-mcp batch ./batch-config.yaml

与Claude Desktop的集成

基本配置

{
  "mcpServers": {
    "user_management": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/mcp_server_user_management",
      "env": {
        "BASE_URL": "https://api.enterprise.com/v2",
        "AUTH_TOKEN": "your_token"
      }
    }
  }
}

企业功能

环境配置

系统使用pydantic设置进行集中配置。复制 .env.example 一 .env:

cp .env.example .env

功能开关 -只激活您需要的模块:

ENABLE_AI=true       # Integración Ollama (análisis IA)
ENABLE_STORAGE=true  # MinIO (almacenamiento S3)
ENABLE_OAUTH2=true   # OAuth2 token management
ENABLE_AGENTS=true   # Multi-agent architecture (futuro)

电梯开发服务:

# Inicia PostgreSQL, Redis, MinIO y Ollama
docker-compose -f docker-compose.dev.yml up -d

# Verificar estado
curl http://localhost:5000/api/features

回应 /api/features:

{
  "ai": {"enabled": true, "ollama_url": "http://localhost:11434"},
  "storage": {"enabled": true, "endpoint": "localhost:9000"},
  "oauth2": {"enabled": false, "configured": false},
  "agents": {"enabled": false},
  "database": {"type": "sqlite"}
}

AI集成(Ollama)

通过Ollama使用本地LLM模型执行6种任务:

任务 默认模型 端点
规范分析 llama3.2:3b POST /api/ai/analyze-spec
文档生成 llama3.2:3b POST /api/ai/generate-docs
安全审计 llama3.2:3b POST /api/ai/security-audit
代码验证 llama3.2:1b POST /api/ai/validate
Spec 的优化 codellama:7b POST /api/ai/optimize
MCP改进 codellama:7b POST /api/ai/enhance-mcp

示例-使用IA分析规范:

curl -X POST http://localhost:5000/api/ai/analyze-spec \
  -H "Content-Type: application/json" \
  -d '{"spec_content": "openapi: 3.0.3\ninfo:\n  title: My API..."}'

回答:

{
  "analysis": {
    "quality_score": 78,
    "summary": "REST API with user management endpoints",
    "total_endpoints": 12,
    "issues": [
      {"severity": "warning", "path": "/users", "message": "Missing pagination"}
    ],
    "mcp_recommendations": {
      "priority_endpoints": ["/users", "/orders"],
      "suggested_tools": ["list_users", "create_order"]
    }
  },
  "model": "llama3.2:3b",
  "tokens_used": 1250,
  "duration_ms": 3400
}

配置模型:

OLLAMA_HOST=localhost
OLLAMA_PORT=11434
OLLAMA_MODEL_SPEC_ANALYSIS=llama3.2:3b
OLLAMA_MODEL_CODE_GENERATION=codellama:7b
OLLAMA_MODEL_DOCUMENTATION=llama3.2:3b
OLLAMA_MODEL_VALIDATION=llama3.2:1b
OLLAMA_RATE_LIMIT_RPM=30

存储(Minio)

S3存储-支持带有4个专用桶的工件:

桶 内容 使用
openapi-specs OpenAPI规范 规范版本
mcp-artifacts 生成的MCP服务器(ZIP) 工件分布
reports 生成的报告(JSON/CSV/HTML) 审计和合规
backups 数据库备份 灾难恢复

示例-上传文件:

curl -X POST http://localhost:5000/api/storage/upload \
  -F "file=@mi-api.yaml" \
  -F "bucket=openapi-specs" \
  -F "key=project1/v1/api.yaml"

示例-列出对象:

curl http://localhost:5000/api/storage/objects/openapi-specs?prefix=project1/

当地撤退:如果Minio不可用或 ENABLE_STORAGE=false,系统自动使用本地文件系统中的存储(output/storage/).

配置:

MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_SECURE=false

OAuth2身份验证

集中管理OAuth2令牌,将身份验证传播到生成的MCP服务器。

流量:

1. Registrar proveedor → GET /api/auth/oauth2/authorize/{provider}
2. Usuario autoriza     → Redirect a authorization_url
3. Callback con code    → GET /api/auth/oauth2/callback?code=...
4. Token almacenado     → Auto-refresh antes de expiración
5. MCP Context          → GET /api/auth/oauth2/mcp-context/{provider}/{user}

特点:

  • 自动发现(.well-known/openid-configuration)
  • 令牌存储:内存(默认)或Redis(生产)
  • 带可配置缓冲区的自动刷新(到期前300s)
  • 生成的MCP服务器上的身份验证注入上下文

配置:

OAUTH2_ISSUER=https://your-domain.auth0.com
OAUTH2_CLIENT_ID=your-client-id
OAUTH2_CLIENT_SECRET=your-client-secret
OAUTH2_REDIRECT_URI=http://localhost:5000/api/auth/oauth2/callback
OAUTH2_TOKEN_STORE=redis
OAUTH2_REFRESH_BUFFER=300

股票审计

完整的审计日志记录系统,有26种事件类型和4种严重程度。

审核事件类型:

类别 事件 严重性
认证 登录成功、登录失败、注销、密码更改 低-高
用户 用户创建、用户更新、用户删除、角色更改 中等-高等
规格 SPEC_uploated、SPEC_UPDATED、SPEC_DELETED、SPEC_ENCRYPTED 低-中
世代 MCP已生成,配置已更改 低
整合 WEBHOOK_CREATED、DATA_EXPORTED、API_KEY_CREATED 中等
管理员 设置已更改、工作空间已创建、保留已执行 高度关键

示例-查询审核日志:

# Obtener logs filtrados por severidad y rango de fechas
curl "http://localhost:5000/api/audit/logs?severity=HIGH&days=7&limit=50"

# Exportar logs en CSV
curl "http://localhost:5000/api/audit/export?format=csv&start_date=2025-01-01"

# Resumen de auditoría (estadísticas)
curl "http://localhost:5000/api/audit/summary?workspace_id=1"

回应 /api/audit/summary:

{
  "total_events": 1523,
  "by_severity": {"LOW": 890, "MEDIUM": 412, "HIGH": 198, "CRITICAL": 23},
  "top_actions": [
    {"action": "SPEC_UPLOADED", "count": 342},
    {"action": "MCP_GENERATED", "count": 289}
  ],
  "active_users": 12
}

每个记录包括:用户、工作空间、IP、用户代理、请求路径和其他元数据。

规范加密

AES-256加密以保护敏感的OpenAPI规范。

外观 细节
算法 AES-256通过Fernet(对称)
密钥推导 PBKDF2-SHA256,480000次迭代(OWASP)
盐 每个规范16个随机字节
诚信 原始内容的SHA-256哈希
旋转 支持使用新密钥重新加密
# Encriptar una spec
curl -X POST http://localhost:5000/api/encryption/encrypt \
  -H "Content-Type: application/json" \
  -d '{"spec_id": 1, "password": "mi-clave-segura"}'

# Desencriptar
curl -X POST http://localhost:5000/api/encryption/decrypt \
  -H "Content-Type: application/json" \
  -d '{"spec_id": 1, "password": "mi-clave-segura"}'

# Rotar clave
curl -X POST http://localhost:5000/api/encryption/rotate \
  -H "Content-Type: application/json" \
  -d '{"spec_id": 1, "old_password": "clave-vieja", "new_password": "clave-nueva"}'

可配置警报

具有10种类型、可配置阈值和多通道通知的警报系统。

可用的警报类型:

类型 描述 阈值示例
FAILED_LOGINS 登录尝试失败 >15分钟内5次
HIGH_ERROR_RATE 高错误率 5分钟内超过10次
UNUSUAL_ACTIVITY 在1小时内检测到异常活动 >100
API_RATE_LIMIT API限制在1小时内达到 >1000
STORAGE_USAGE 高存储利用率 >80%容量
INACTIVE_USERS 非活动用户 无活动30天
WEBHOOK_FAILURES Webhooks的故障 >1小时内3次
ENCRYPTION_EVENTS 加密事件 >5分钟内10次
ADMIN_ACTIONS 行政行动 任何行动
NEW_USER_SPIKE 新用户高峰 >1小时内10人

生命周期: 主动->确认->决议(非临时)

# Crear regla de alerta
curl -X POST http://localhost:5000/api/alerts/rules \
  -H "Content-Type: application/json" \
  -d '{
    "alert_type": "FAILED_LOGINS",
    "severity": "HIGH",
    "threshold": 5,
    "period_minutes": 15,
    "channels": ["email", "webhook"],
    "cooldown_minutes": 60,
    "workspace_id": 1
  }'

# Listar alertas activas
curl "http://localhost:5000/api/alerts?status=ACTIVE&severity=HIGH"

# Reconocer una alerta
curl -X POST http://localhost:5000/api/alerts/42/acknowledge

# Resolver una alerta
curl -X POST http://localhost:5000/api/alerts/42/resolve

自动报告

8种报告类型,有3种格式,可自动安排。

报告类型:

类型 内容 格式
USAGE_SUMMARY 平台使用摘要 JSON,CSV,HTML
SECURITY_AUDIT 事件和风险安全审计 JSON,CSV,HTML
COMPLIANCE 策略遵守和保留 JSON,CSV,HTML
USER_ACTIVITY 每个用户的活动和指标 JSON,CSV,HTML
GENERATION_STATS MCP生成统计 JSON,CSV,HTML
WORKSPACE_OVERVIEW Vista通用去工作区 JSON、CSV、HTML
API_USAGE API密钥和端点的USO JSON、CSV、HTML
ALERT_SUMMARY 警报和决议摘要 JSON,CSV,HTML

行程安排: 每天、每周或每月通过电子邮件或网络挂钩交付。

# Generar reporte manualmente
curl -X POST http://localhost:5000/api/reports/generate \
  -H "Content-Type: application/json" \
  -d '{"report_type": "SECURITY_AUDIT", "period_days": 30, "workspace_id": 1}'

# Programar reporte automático
curl -X POST http://localhost:5000/api/reports/scheduled \
  -H "Content-Type: application/json" \
  -d '{
    "report_type": "USAGE_SUMMARY",
    "format": "HTML",
    "schedule": "WEEKLY",
    "workspace_id": 1,
    "delivery_email": "admin@empresa.com"
  }'

# Exportar reporte en formato específico
curl "http://localhost:5000/api/reports/generated/15/export?format=csv"

# Listar reportes generados
curl "http://localhost:5000/api/reports/generated?workspace_id=1&limit=20"

Metricas仪表板

具有实时度量的管理仪表板。

指标类别:

类别 数据 端点
概述 总用户,活动工作空间,加载的规范 GET /api/metrics/overview
用户 按角色分配,每天新的,更活跃的 GET /api/metrics/users
活动 按类型、时间分布、趋势划分的股票 GET /api/metrics/activity
世代 每日MCPS,按框架,趋势 GET /api/metrics/generations
安全 登录失败,关键事件,可疑IP GET /api/metrics/security
工作区 按大小分布,活动网络挂钩 GET /api/metrics/workspaces
完整的仪表板 所有聚合指标 GET /api/metrics/dashboard
# Dashboard completo
curl http://localhost:5000/api/metrics/dashboard

# Métricas de seguridad
curl http://localhost:5000/api/metrics/security

回应 /api/metrics/security:

{
  "failed_logins_24h": 3,
  "successful_logins_24h": 47,
  "high_severity_events": 5,
  "critical_events": 0,
  "suspicious_ips": ["192.168.1.100"],
  "by_severity": {"LOW": 120, "MEDIUM": 34, "HIGH": 5, "CRITICAL": 0}
}

数据保留策略

可配置的保留系统,用于9种数据类型,并具有自动清理功能。

默认保留:

数据类型 默认保留 可用操作
AUDIT_LOGS 365天 删除、存档、匿名
SPECS 730天 删除,存档
GENERATIONS 180天 删除,存档
SESSIONS 1 día 删除
ENCRYPTED_SPECS 365天 删除
ACTIVITY_LOGS 180天 删除,匿名
API_KEYS 365天(不活动) 删除
WEBHOOKS 365天(空闲) 删除
NOTIFICATIONS 90天 删除
# Configurar política de retención
curl -X POST http://localhost:5000/api/retention/policies \
  -H "Content-Type: application/json" \
  -d '{
    "data_type": "AUDIT_LOGS",
    "retention_days": 180,
    "action": "ARCHIVE",
    "workspace_id": 1
  }'

# Ejecutar cleanup (dry-run primero)
curl -X POST http://localhost:5000/api/retention/execute \
  -H "Content-Type: application/json" \
  -d '{"workspace_id": 1, "dry_run": true}'

# Ver estadísticas de retención
curl "http://localhost:5000/api/retention/stats?workspace_id=1"

# Historial de ejecuciones
curl "http://localhost:5000/api/retention/history?workspace_id=1"

数据库配置

通过环境变量配置支持3种数据库类型。

数据库 建议使用 连接池
SQLite 开发,测试,小型设施 否(本地文件)
PostgreSQL 生产,设备,高并发 池5,最大溢出10
MongoDB 文档存储,大容量日志 本地

SQLite(默认):

DATABASE_TYPE=sqlite
# Usa archivo local en output/instance/app.db

PostgreSQL:

DATABASE_TYPE=postgresql
DB_HOST=localhost
DB_PORT=5432
DB_NAME=openapi_mcp
DB_USER=postgres
DB_PASSWORD=your-password
# O usando URL directa:
# DATABASE_URL=postgresql://user:pass@localhost:5432/openapi_mcp

MongoDB:

DATABASE_TYPE=mongodb
DATABASE_URL=mongodb://user:pass@localhost:27017/openapi_mcp
# Verificar salud de la base de datos
curl http://localhost:5000/api/health

# Información detallada
curl http://localhost:5000/api/database/info

回应 /api/database/info:

{
  "type": "postgresql",
  "url_masked": "postgresql://***@localhost:5432/openapi_mcp",
  "healthy": true,
  "server_version": "16.1",
  "database_size": "24 MB"
}

API 参考

每个模块的端点

核心(始终可用)

方法 端点 描述
GET /api/health 健康检查概述
GET /api/features 共同去特征化状态
GET /api/database/info 数据库信息
GET /api/database/types 可用的DB类型

AI(ENABLE_AI=true)

方法 端点 描述
GET /api/ai/health 奥拉马州
GET /api/ai/models 可用型号
POST /api/ai/analyze-spec OpenAPI分析器规范
POST /api/ai/generate-docs 生成文档
POST /api/ai/security-audit 安全审计
POST /api/ai/validate 验证MCP代码
POST /api/ai/optimize Optimizar规格
POST /api/ai/enhance-mcp 建议MCP改进

存储(ENABLE_STORAGE=true)

方法 端点 描述
GET /api/storage/health 存储状态
GET /api/storage/buckets Listar水桶
GET /api/storage/objects/{bucket} 列出对象。
POST /api/storage/upload 上传文件
GET /api/storage/download/{bucket}/{key} 下载对象
DELETE /api/storage/delete/{bucket}/{key} 删除对象
GET /api/storage/presigned/{bucket}/{key} URL 预先签名

OAuth2(ENABLE_OAUTH2=true)

方法 端点 描述
GET /api/auth/oauth2/providers 注册供应商
GET /api/auth/oauth2/authorize/{provider} 授权URL
GET /api/auth/oauth2/callback 回调OAuth2
GET /api/auth/oauth2/token/{provider}/{user} 令牌状态
GET /api/auth/oauth2/mcp-context/{provider}/{user} 上下文认证MCP

审计

方法 端点 描述
GET /api/audit/logs Consultar日志(过滤:用户、严重性、操作、天数)
GET /api/audit/export 将日志导出为JSON或CSV
GET /api/audit/summary 审计统计

警报

方法 端点 描述
GET /api/alerts 警报列表(过滤:状态、严重程度、类型)
POST /api/alerts/rules 创建警报规则
GET /api/alerts/rules 列出活动规则
DELETE /api/alerts/rules/{id} 删除规则
POST /api/alerts/{id}/acknowledge 识别警报
POST /api/alerts/{id}/resolve 解析器alerta
POST /api/alerts/{id}/snooze 暂时沉默
POST /api/alerts/check 执行规则验证

报告

方法 端点 描述
POST /api/reports/generate 手动生成报告
GET /api/reports/generated 列出生成的报告
GET /api/reports/generated/{id} 获取特定报告
GET /api/reports/generated/{id}/export 导出格式(json/csv/html)
POST /api/reports/scheduled 创建计划报告
GET /api/reports/scheduled 列出计划的报告
DELETE /api/reports/scheduled/{id} 删除编程
POST /api/reports/run-scheduled 执行未完成的报告
GET /api/reports/types 可用报告类型

Metricas

方法 端点 描述
GET /api/metrics/overview 通用平台度量
GET /api/metrics/users 用户指标
GET /api/metrics/activity 活动指标
GET /api/metrics/generations MCP生成度量
GET /api/metrics/security 安全指标
GET /api/metrics/workspaces 工作区度量
GET /api/metrics/dashboard 完整的仪表板(所有指标)

保留

方法 端点 描述
GET /api/retention/policies 列出保留策略
POST /api/retention/policies 创建/更新政策
DELETE /api/retention/policies/{id} 删除策略
POST /api/retention/execute 运行Cleanup(支持干运行)
GET /api/retention/stats 保留统计
GET /api/retention/history 执行历史

加密

方法 端点 描述
POST /api/encryption/encrypt Encriptar规范密码
POST /api/encryption/decrypt 设计规范
POST /api/encryption/rotate 旋转加密密钥
POST /api/encryption/verify 验证设计中的汽车密码

建筑

流量产生

┌─────────────────────────────────────────────────────────────────┐
│                    OpenAPI Specification                         │
│                    (YAML/JSON 3.0/3.1)                          │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                      OpenAPI Parser                              │
│  - Validación de spec                                           │
│  - Resolución de $refs                                          │
│  - Extracción de paths, schemas, security                       │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    Endpoint Selector                             │
│  - Filtrado por patrones CLI                                    │
│  - Selección interactiva                                        │
│  - Selección via GUI web                                        │
│  - Carga desde archivo o URL                                    │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
              ┌───────────────┴───────────────┐
              │                               │
              ▼                               ▼
┌─────────────────────────┐     ┌─────────────────────────┐
│    Tool Transformer     │     │  Resource Transformer   │
└─────────────────────────┘     └─────────────────────────┘
              │                               │
              └───────────────┬───────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    MCP Server Generator                          │
│  - Genera código server.py (FastMCP o MCP)                      │
│  - Crea http_client.py, auth.py, config.py                      │
│  - Genera requirements.txt, Dockerfile, README                  │
│  - Opcionalmente crea ZIP para descarga                         │
└─────────────────────────────────────────────────────────────────┘

项目结构

openapi-to-mcp-generator/
├── src/
│   └── openapi_to_mcp/
│       ├── models.py              # Modelos de datos
│       ├── cli.py                 # Interfaz de comandos
│       ├── endpoint_selector.py   # Selector de endpoints
│       ├── config/                # ⚙️ Configuración centralizada
│       │   ├── __init__.py
│       │   └── settings.py        # Pydantic Settings (Ollama, MinIO, OAuth2)
│       ├── ai/                    # 🤖 Integración IA
│       │   ├── __init__.py
│       │   └── ollama_client.py   # Cliente Ollama (6 tareas IA)
│       ├── auth/                  # 🔐 Autenticación
│       │   ├── __init__.py
│       │   └── oauth2.py          # OAuth2 Manager + Token Stores
│       ├── storage/               # 📦 Almacenamiento
│       │   ├── __init__.py
│       │   └── adapters/
│       │       ├── base.py        # Interfaz StorageAdapter
│       │       ├── local_adapter.py
│       │       └── minio_adapter.py
│       ├── parsers/
│       │   └── openapi_parser.py
│       ├── transformers/
│       │   ├── tool_transformer.py
│       │   └── resource_transformer.py
│       ├── generators/
│       │   └── server_generator.py
│       └── gui/                   # Interfaz web
│           ├── web_app.py         # 80+ API endpoints
│           ├── db_config.py       # Multi-database config
│           ├── database.py        # SQLAlchemy models
│           ├── audit.py           # Audit logging
│           ├── encryption.py      # AES-256 encryption
│           ├── retention.py       # Data retention
│           ├── metrics.py         # Usage metrics
│           ├── alerts.py          # Configurable alerts
│           ├── reports.py         # Automatic reports
│           ├── templates/
│           │   ├── index.html     # Selector de endpoints
│           │   ├── upload.html    # Página de carga
│           │   ├── admin.html     # Dashboard admin
│           │   └── login.html     # Autenticación
│           └── static/
│               ├── style.css
│               └── app.js
├── .env.example                   # Variables de entorno
├── Dockerfile
├── docker-compose.yml             # Producción
├── docker-compose.dev.yml         # Desarrollo (PostgreSQL, Redis, MinIO, Ollama)
├── docker-entrypoint.sh
├── examples/
├── tests/
└── pyproject.toml

Mapeo OpenAPI→ MCP

操作→工具

OpenAPI MCP工具
GET /users prefix_list_users
POST /users prefix_create_user
GET /users/{id} prefix_get_user_by_id
PUT /users/{id} prefix_update_user
DELETE /users/{id} prefix_delete_user

参数→JSON模式

OpenAPI MCP输入模式
path: id {"id": {"type": "integer", "description": "..."}}
query: search {"search": {"type": "string", ...}}
header: X-Custom {"x_custom": {"type": "string", ...}}
requestBody {"body": {"type": "object", ...}}

例子

编程使用

from openapi_to_mcp import (
    OpenAPIParser,
    ToolTransformer,
    ResourceTransformer,
    MCPServerGenerator,
    MCPServerConfig,
    MCPFramework,
    EndpointFilter,
)

# 1. Parsear especificación
parser = OpenAPIParser()
spec = parser.parse("api.yaml")

# 2. Filtrar endpoints
endpoint_filter = EndpointFilter(
    include_patterns=["/users/*", "/orders/*"],
    exclude_patterns=["/internal/*"]
)

# 3. Transformar y generar
transformer = ToolTransformer(service_prefix="myapi")
tools = transformer.transform(spec, endpoint_filter=endpoint_filter)

config = MCPServerConfig(
    service_name="my_service",
    mcp_framework=MCPFramework.FASTMCP,
)

generator = MCPServerGenerator(output_dir="./output")
result = generator.generate(spec, tools, resources, config)

有用的CLI命令

# Validar especificación OpenAPI
openapi-to-mcp validate ./api.yaml

# Vista previa de tools y resources
openapi-to-mcp preview ./api.yaml --service-prefix myapi

# Modo verbose para debugging
openapi-to-mcp -v generate ./api.yaml -n myservice

# Iniciar servidor web standalone
openapi-to-mcp serve --port 8080

考虑因素

已知限制

  1. WebSockets/SSE:当前不支持流媒体
  2. 文件上传:Multipart Form-数据需要特殊处理
  3. 图查询语言:不支持,仅限REST
  4. 需要Ollama:AI功能需要在本地运行Ollama
  5. SAML/LDAP:仅当前支持的OAuth2/OIDC(备份中的SAML)

良好做法

  1. 美国操作ID:定义 operationId 在您的OpenAPI中,用于更可读的工具名称
  2. 卡塞尔文献展:包括 summary y description 在每个操作中
  3. 版本a:使用版本前缀(users_v2_*)当API进化时
  4. Filtra:不要将内部或调试终结点暴露给LLMS
  5. 功能开关:仅激活您在中需要的模块 .env
  6. 令牌安全:在生产中,使用Redis作为令牌存储(OAUTH2_TOKEN_STORE=redis)
  7. 生产中的迷你:配置 MINIO_SECURE=true 和安全凭证

🗺️ 路线图

第一阶段:用户体验改进(V1.1)✅ 完成

🌙 暗/亮模式✅

  • [x] 在Web界面上切换主题
  • [x] 局部存储中的偏好持久性
  • [x] 自动偏好检测系统

✅ 实时验证✅

  • [x] 加载时验证OpenAPI规范
  • [x] 错误和警告的视觉指标
  • [x] 自动更正建议
  • [x] 带有问题详细信息的诊断面板

👁️ 预览en Vivo✅

  • [x] 下载前生成的MCP代码预览
  • [x] Python语法高亮显示
  • [x] 按生成的文件导航
  • [x] 比较版本的Diff Viewer

📊 高级统计✅

  • [x] 带有使用指标的仪表板
  • [x] 最常用的端点图
  • [x] 最近规格历史(最后10个)
  • [x] 平均发电时间

🎯 性能和DX✅ 湾仔

  • [x] 自动清理临时文件
  • [x] 清理过期会话(>2小时)
  • [x] 详细的进度条(10步)
  • [x] 带有上下文和建议的改进错误消息
  • [x] 错误中的文档链接

🎨 UI/UX改进✅ 湾仔

  • [x] Toast通知(成功、错误、警告、信息)
  • [x] 文件上传的拖放
  • [x] 快速重新加载的最新规范列表
  • [x] 导出/导入选择设置
  • [x] 预置管理(保存/加载选择)
  • [x] 移动响应式设计

第二阶段:规范管理(V1.2)✅ 完成

📁 OpenAPI规范管理器✅

  • [x] 加载的规范库
  • [x] 按项目/文件夹组织
  • [x] 搜索和过滤规范
  • [x] 标签和分类
  • [x] 收藏夹和快捷方式

🔄 规范版本✅

OpenAPI规范的完整版本控制系统:

功能 描述 状态
版本历史 自动注册每个加载的版本 ✅
时间线可视化 与所有版本的交互式时间表 ✅
版本之间的差异 版本之间更改的视觉比较 ✅
还原版本 能够返回以前的版本 ✅
外汇票据 按版本列出的评论和描述 ✅
┌─────────────────────────────────────────────────────────────────┐
│  📋 Petstore API - Historial de Versiones                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ●───●───●───●───◉  (Timeline)                                  │
│  v1  v2  v3  v4  v5                                             │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ v5 (actual) - 2024-01-15 14:32                          │   │
│  │ ├─ 🔧 MCP generado: 2024-01-15 14:35                    │   │
│  │ ├─ Endpoints: 24 (+3 desde v4)                          │   │
│  │ └─ Nota: "Agregados endpoints de autenticación OAuth"   │   │
│  ├─────────────────────────────────────────────────────────┤   │
│  │ v4 - 2024-01-10 09:15                                   │   │
│  │ ├─ 🔧 MCP generado: 2024-01-10 09:20                    │   │
│  │ ├─ 🔧 MCP generado: 2024-01-12 16:45                    │   │
│  │ ├─ Endpoints: 21                                        │   │
│  │ └─ Nota: "Refactoring de rutas de usuarios"             │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  [Ver Diff v4 ↔ v5]  [Restaurar v4]  [Exportar Historial]      │
└─────────────────────────────────────────────────────────────────┘

🔧 MCP世代记录✅

  • [x] 生成MCP的版本视觉指示器
  • [x] 每一代人的确切日期和时间
  • [x] 每一代使用的配置
  • [x] 生成的zip下载链接(如果可用)
  • [x] 生成统计数据(工具、资源、时间)

第三阶段:MCP高级配置(V1.3)✅ 完成

⚙️ 按规格配置的区域✅

每个规范都有自己的MCP输出配置:

Modo编辑器(yaml/JSON):

# Configuración directa en formato YAML
service_name: "petstore_api"
mcp_framework: "fastmcp"
output_format: "python"
service_prefix: "petstore"
generate_resources: true
auth_config:
  type: "bearer"
  token_env: "PETSTORE_API_KEY"
endpoint_filters:
  include: ["/pets/*", "/store/*"]
  exclude: ["/internal/*"]

图形用户界面模式(视觉形式):

┌─────────────────────────────────────────────────────────────────┐
│  ⚙️ Configuración MCP - Petstore API                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Información General                                            │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ Nombre del servicio: [petstore_api_________]            │   │
│  │ Prefijo:             [petstore_____________]            │   │
│  │ Framework:           [FastMCP ▼]                        │   │
│  │ Formato salida:      ○ Python  ○ TypeScript (futuro)    │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  Autenticación                                                  │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ Tipo:     [Bearer Token ▼]                              │   │
│  │ Variable: [PETSTORE_API_KEY___]                         │   │
│  │ □ Requerido para todos los endpoints                    │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  Generación                                                     │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │ ☑ Generar Resources                                     │   │
│  │ ☑ Incluir validación de parámetros                      │   │
│  │ ☑ Generar documentación inline                          │   │
│  │ □ Modo estricto (fallar en warnings)                    │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  [Modo Editor YAML]  [Guardar Config]  [Restaurar Defaults]    │
└─────────────────────────────────────────────────────────────────┘
  • [x] 在编辑器模式和GUI模式之间切换
  • [x] 实时配置验证
  • [x] 可重复使用的配置文件(默认为4个配置文件)
  • [x] 导入/导出配置(YAML/JSON)
  • [x] 将配置文件应用于现有规范

第四阶段:合作与团队(V2.0)✅

👥 用户管理

  • [x] 认证系统(本地/OAUTH)
  • [x] 角色和权限(管理员、编辑、查看器)
  • [x] 共享工作空间
  • [x] 实时团队活动

🔗 整合

  • [x] 用于CI/CD的webhooks
  • [x] API REST自动化
  • [x] 与GitHub/Gitlab的集成
  • [x] 与规范存储库同步
  • [x] 通知(Slack,Discord,电子邮件)

📤 高级出口

  • [x] 生成TypeScript代码(官方MCP SDK)
  • [x] 个性化模板(Jinja2)
  • []导出插件
  • [x] 多规格批量生成

Fase 5:企业功能(v3.0)✅

🔒 高级安全

  • [x] 行动审计(45种事件,4种严重程度)
  • [x] 敏感规范加密(AES-256 with Fernet,PBKDF2)
  • [x] OAuth2/OIDC集成(OIDC发现、令牌管理、刷新自动)
  • [x] 数据保留策略(9种数据类型,自动清理)

📈 分析和监测

  • [x] 管理仪表板(完整指标)
  • [x] 团队使用指标(用户、活动、工作空间)
  • [x] 可配置警报(10种类型、阈值、通知)
  • [x] 自动报告(8种类型,3种格式,时间表)

🌐 逃逸

  • []Soporte多租户
  • []负载平衡
  • [x] 分布式缓存(Redis作为缓存和令牌存储的后端)
  • [x] 持久数据库(postgresql/mongodb通过db_config)

Fase 6:人工智能和云基础设施(v4.0)✅

🤖 Ollama整合(当地LLM)

  • [x] 具有速率限制和错误处理的Ollama客户端
  • [x] OpenAPI规范的智能分析(质量分数、问题、MCP建议)
  • [x] MCP文档的自动生成
  • [x] 人工智能辅助安全审计(OWASP合规性)
  • [x] 生成的MCP代码验证
  • [x] 规范优化(分页、缓存、批处理)
  • [x] 对MCP服务器的改进建议
  • [x] 按任务类型配置的模型(规范分析、代码生成、文档、验证)
  • [x] IA的7个端点(/api/ai/*)

📦 Minio存储(S3兼容)

  • [x] 带有存储抽象的Minio适配器
  • [x] 本地适配器(文件系统)作为备份
  • [x] Buckets dedicados:规格、工件、报告、备份
  • [x] 安全下载的预签名URL
  • [x] 辅助工具:store_spec、store_mcp_artifact、store_report
  • [x] 7个端点去存储(/api/storage/*)

🔐 OAuth2令牌管理

  • [x] 集中令牌管理器OAuth2
  • [x] 自动发现
  • [x] 令牌存储:内存y Redis
  • [x] 自动刷新令牌
  • [x] 将身份验证上下文传播到MCP服务器
  • [x] 5个端点OAuth2(/api/auth/oauth2/*)

⚙️ 基础设施

  • [x] 使用pydantic设置进行集中配置
  • [x] 功能切换: ENABLE_AI, ENABLE_STORAGE, ENABLE_OAUTH2, ENABLE_AGENTS
  • [x] .env.example 所有环境变量
  • [x] docker-compose.dev.yml (PostgreSQL、Redis、MinIO、Ollama)
  • [x] 功能状态终结点(/api/features)

积压(Sin priorizar)

功能 描述 复杂性
从Postman导入 将Postman收藏转换为OpenAPI 媒体
从失眠中导入 支持失眠格式 媒体
~~AI-Assisted Mapping~ 工具名的智能建议 ✅ 第六阶段
集成Playground 直接生成的测试工具 高级
增强的交互式CLI 带有丰富/文本的TUI 媒体
GraphQL支持 从Schemas GraphQL生成MCP 高级
GRPC支持 从Protobuf生成MCP 高
移动应用程序 用于管理的IOS/Android应用程序 Alta
VS代码扩展 编辑规范的扩展 媒体
速率限制 ~~ API使用控制~~ ✅ 第六阶段(Ollama)
多Agent架构 Agent Architect+IA规划编码器 高级
动态MCP生成 具有自定义IA功能的动态生成 高级
多租户支持 按组织完全隔离 高
SAML/LDAP集成 与企业供应商的SSO(SAML,Active Directory) 媒体

为 Roadmap 贡献

你有新功能的想法吗?

  1. 打开一个 问题 带有标签 enhancement
  2. 描述用例和好处
  3. 如果可能,包括Mockup或图表
  4. 投票👍 在现有功能中优先考虑

争议

  1. 叉库
  2. 创建分支(git checkout -b feature/nueva-funcionalidad)
  3. 安装开发依赖项: pip install -e ".[dev]"
  4. 运行测试: pytest
  5. 提交更改(git commit -am 'Agregar funcionalidad')
  6. 推拉拉马(git push origin feature/nueva-funcionalidad)
  7. 打开拉动请求

许可证

MIT许可证-版本 许可证 关于细节。


开发用于通过MCP自动化企业微服务与LLMS的集成。

技术堆栈: Python 3.10+| Flask | SQLAlchemy | Pydantic | Ollama | MinIO | Redis | OAuth2/OIDC