MCP Swagger Server
Convierte especificaciones OpenAPI/Swagger al formato del Protocolo de Contexto de Modelo (MCP), proporcionando una interfaz web moderna y un servicio backend.
Documentación
MCP Swagger Server (mss)
Herramienta para convertir especificaciones OpenAPI/Swagger al formato Model Context Protocol (MCP)
Convierta su API REST en herramientas invocables por IA sin configuración
🚀 Inicio rápido • 📖 Guía de uso • 🛠️ Desarrollo
Idiomas: English | 中文
🎬 Demostración rápida

🎯 Capturas del proyecto

🎯 Introducción al proyecto
MCP Swagger Server es una herramienta que convierte especificaciones OpenAPI/Swagger al formato Model Context Protocol (MCP).
📦 Estructura del proyecto
mcp-swagger-server/
├── packages/
│ ├── mcp-swagger-server/ # 🔧 核心 MCP 服务器 (可用)
│ ├── mcp-swagger-parser/ # 📝 OpenAPI 解析器 (可用)
│ └── mcp-swagger-api/ # 🔗 REST API 后端 (可用)
└── scripts/ # 🔨 构建脚本
✨ Características principales
- 🔄 Conversión sin configuración: Introduzca la especificación OpenAPI y obtenga herramientas MCP al instante
- 🎯 CLI progresiva: Interfaz de línea de comandos guiada paso a paso para facilitar la configuración
- 🖥️ Experiencia centrada en terminal: CLI / terminal interactivo como método principal de uso
- 🔌 Múltiples protocolos de transporte: Soporte para transporte SSE, Streamable y Stdio
- 🔐 Autenticación segura: Soporte de autenticación Bearer Token para proteger el acceso a la API
🚀 Inicio rápido
Requisitos del entorno
- Node.js ≥ 20.0.0
- pnpm ≥ 8.0.0 (recomendado)
Instalación
npm i mcp-swagger-server -g
Descripción de comandos
mss: Interfaz de terminal interactiva (predeterminada)mcp-swagger-server/mcp-swagger: Línea de comandos estándar (adecuada para scripts e integración con clientes de IA)mss --openapi ...: Modo de inicio directo (omite la interfaz interactiva)
Nota: El modo de sesión interactiva no admite el inicio STDIO; si necesita STDIO, use
mss --openapi ... --transport stdio(alias compatible:mcp-swagger-server --transport stdio ...).
Inicio rápido
Inicio interactivo (recomendado para principiantes)
mss
Inicio con un clic (no interactivo)
mss --openapi https://api.example.com/openapi.json \
--operation-filter-methods GET \
--operation-filter-methods POST \
--transport streamable \
--auth-type bearer \
--bearer-token "your-token-here"
# 使用配置文件
mss --config config.json
📖 Guía de uso
Opciones de línea de comandos
# 基本用法
mss [选项]
# 选项:
--openapi, -o OpenAPI 规范的 URL 或文件路径
--transport, -t 传输协议 (stdio|sse|streamable)
--port, -p 端口号
--endpoint, -e 自定义端点路径 (默认 sse:/sse, streamable:/mcp)
--base-url 覆盖 API 基础 URL(优先级最高)
--watch, -w 监控文件变化
--env 环境变量文件路径 (.env)
# Bearer Token 认证选项:
--auth-type 认证类型 (bearer)
--bearer-token 直接指定 Bearer Token
--bearer-env 从环境变量读取 Token
--config, -c 配置文件路径
--custom-header 自定义请求头 "Key=Value" (可重复)
--custom-header-env 环境变量请求头 "Key=VAR_NAME" (可重复)
--custom-headers-config 自定义请求头配置文件 (JSON)
--debug-headers 请求头调试日志
# 操作过滤选项:
--operation-filter-methods <method> HTTP方法过滤 (可重复) [示例: GET]
--operation-filter-paths <path> 路径过滤 (支持通配符, 可重复) [示例: /api/*]
--operation-filter-operation-ids <id> 操作ID过滤 (可重复) [示例: getUserById]
--operation-filter-status-codes <code> 状态码过滤 (可重复) [示例: 200]
--operation-filter-parameters <param> 参数过滤 (可重复) [示例: userId]
Consejo: Si desea iniciar directamente en
mss(omitiendo la interfaz interactiva), pase explícitamente el parámetro--openapi. Si elservers.urlen el documento OpenAPI es una ruta relativa (como/v1), use preferentemente una URL remota para cargar el documento, o pase explícitamente--base-url. Los documentos Swagger 2.0 se convierten automáticamente a OpenAPI 3.x al inicio (incluido el mapeo dehost/basePath).
Ejemplo de encabezado de solicitud Xquik API Key
export XQUIK_API_KEY="your-xquik-api-key"
mss --openapi https://xquik.com/openapi.json \
--base-url https://xquik.com \
--custom-header-env x-api-key=XQUIK_API_KEY \
--transport streamable \
--port 3323
🔐 Autenticación Bearer Token
mcp-swagger-server admite autenticación Bearer Token para proteger el acceso a API que requieren verificación de identidad.
Método de autenticación
1. Especificar Token directamente
mss --auth-type bearer --bearer-token "your-token-here" --openapi https://api.example.com/openapi.json --transport streamable
Configuración de variables de entorno
Cree el archivo .env:
# 基础配置
MCP_PORT=3322
MCP_TRANSPORT=stdio
MCP_OPENAPI_URL=https://api.example.com/openapi.json
MCP_ENDPOINT=/mcp
MCP_BASE_URL=https://api.example.com/v1
# 认证配置
MCP_AUTH_TYPE=bearer
API_TOKEN=your-bearer-token-here
🤖 Integración con asistentes de IA
Configuración de Claude Desktop
{
"mcpServers": {
"swagger-converter": {
"command": "mss",
"args": [
"--openapi", "https://petstore.swagger.io/v2/swagger.json",
"--transport", "stdio"
]
},
"secured-api": {
"command": "mss",
"args": [
"--openapi", "https://api.example.com/openapi.json",
"--transport", "stdio",
"--auth-type", "bearer",
"--bearer-env", "API_TOKEN"
],
"env": {
"API_TOKEN": "your-bearer-token-here"
}
}
}
}
🛠️ Desarrollo
Sistema de compilación
# 构建所有包
pnpm build
# 构建核心工作区包
pnpm build:packages
# 终端开发模式(CLI / parser watch)
pnpm dev
# 清理构建产物
pnpm clean
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Lea primero la Guía de contribución.
📄 Licencia
Licencia MIT: consulte el archivo LICENSE.
Construido con ❤️ por ZhaoYaNan(ZTE)