Protocolo de contexto de modelo (MCP) de OpenAPI
El proxy OpenAPI-MCP traduce las especificaciones de OpenAPI en herramientas MCP, lo que permite que los agentes de IA accedan a API externas sin envoltorios personalizados.

Cerrar la brecha entre los agentes de IA y las API externas
El servidor proxy de OpenAPI a Protocolo de Contexto de Modelo (MCP) conecta a los agentes de IA con las API externas al traducir dinámicamente las especificaciones de OpenAPI en herramientas , recursos y avisos MCP estandarizados. Esto simplifica la integración al eliminar la necesidad de envoltorios de API personalizados.
Repositorio: https://github.com/gujord/OpenAPI-MCP
Si lo encuentras útil, ¡dale un ⭐ en GitHub!
Related MCP server: MCP Command Proxy
Características principales
Transporte FastMCP: optimizado para
stdioy funciona de inmediato con los orquestadores LLM más populares.Integración con OpenAPI: analiza y registra las operaciones de OpenAPI como herramientas invocables.
Registro de recursos: convierte automáticamente los esquemas de componentes OpenAPI en objetos de recursos con URI definidos.
Generación de indicaciones: genera indicaciones contextuales basadas en operaciones de API para guiar a los LLM en el uso de la API.
Compatibilidad con OAuth2: maneja la autenticación de la máquina a través del flujo de credenciales del cliente.
Compatibilidad con JSON-RPC 2.0: Estructura de solicitud/respuesta totalmente compatible.
Metadatos automáticos: deriva nombres de herramientas, resúmenes y esquemas de la especificación OpenAPI.
Nombres de herramientas desinfectados: garantiza la compatibilidad con las restricciones de nombres de MCP.
Análisis de parámetros flexible: admite cadenas de consulta (con un "?" inicial) y múltiples variaciones de JSON (incluidas claves con puntos y valores numéricos).
Manejo mejorado de parámetros: convierte automáticamente los parámetros a los tipos de datos correctos.
Metadatos de herramientas extendidas: incluye información detallada de parámetros y esquemas de respuesta.
Inicio rápido
Instalación
git clone https://github.com/gujord/OpenAPI-MCP.git
cd OpenAPI-MCP
pip install -r requirements.txtConfiguración del orquestador LLM
Para Claude Desktop , Cursor y Windsurf , utilice el fragmento a continuación y adapte las rutas según corresponda:
{
"mcpServers": {
"petstore3": {
"command": "full_path_to_openapi_mcp/venv/bin/python",
"args": ["full_path_to_openapi_mcp/src/server.py"],
"env": {
"SERVER_NAME": "petstore3",
"OPENAPI_URL": "https://petstore3.swagger.io/api/v3/openapi.json"
},
"transport": "stdio"
}
}
}Aplique esta configuración a los siguientes archivos:
Cursor:
~/.cursor/mcp.jsonWindsurf:
~/.codeium/windsurf/mcp_config.jsonEscritorio de Claude:
~/Library/Application Support/Claude/claude_desktop_config.json
Reemplace
full_path_to_openapi_mcpcon su ruta de instalación real.
Configuración del entorno
Variable | Descripción | Requerido | Por defecto |
| URL a la especificación OpenAPI | Sí | - |
| Nombre del servidor MCP | No |
|
| ID de cliente de OAuth | No | - |
| Secreto del cliente OAuth | No | - |
| URL del punto final del token OAuth | No | - |
| Ámbito de OAuth | No |
|
Cómo funciona
Analiza la especificación OpenAPI: carga la especificación OpenAPI usando
httpxyPyYAMLsi es necesario.Operaciones de registros: extrae operaciones de API y genera herramientas compatibles con MCP con esquemas de entrada y respuesta adecuados.
Registro de recursos: convierte automáticamente los esquemas de componentes OpenAPI en objetos de recursos con URI asignados (por ejemplo,
/resource/{name}).Generación de indicaciones: crea indicaciones contextuales basadas en operaciones de API para ayudar a los LLM a comprender el uso de la API.
Autenticación: admite la autenticación OAuth2 a través del flujo de credenciales del cliente.
Manejo de parámetros: convierte los parámetros a los tipos de datos requeridos y admite cadenas de consulta flexibles y formatos JSON.
Cumplimiento de JSON-RPC 2.0: garantiza protocolos de comunicación estándar para interacciones de herramientas.
sequenceDiagram
participant LLM as LLM (Claude/GPT)
participant MCP as OpenAPI-MCP Proxy
participant API as External API
Note over LLM, API: Communication Process
LLM->>MCP: 1. Initialize (initialize)
MCP-->>LLM: Metadata, tools, resources, and prompts
LLM->>MCP: 2. Request tools (tools_list)
MCP-->>LLM: Detailed list of tools, resources, and prompts
LLM->>MCP: 3. Call tool (tools_call)
alt With OAuth2
MCP->>API: Request OAuth2 token
API-->>MCP: Access Token
end
MCP->>API: 4. Execute API call with proper formatting
API-->>MCP: 5. API response (JSON)
alt Type Conversion
MCP->>MCP: 6. Convert parameters to correct data types
end
MCP-->>LLM: 7. Formatted response from API
alt Dry Run Mode
LLM->>MCP: Call with dry_run=true
MCP-->>LLM: Display request information without executing call
endRecursos y sugerencias
Además de las herramientas, el servidor proxy ahora registra automáticamente:
Recursos: derivados de los esquemas de componentes OpenAPI, los objetos de recursos se registran con URI definidos (por ejemplo,
/resource/{name}) para el manejo de datos estructurados.Avisos: Se generan avisos contextuales basados en operaciones de API para brindar orientación de uso a los LLM, mejorando su comprensión de los puntos finales disponibles.
Estos metadatos extendidos mejoran la integración al proporcionar un contexto de API completo.

Contribuyendo
Bifurcar este repositorio.
Crear una nueva rama.
Envíe una solicitud de extracción con una descripción clara de sus cambios.
Licencia
Si lo encuentras útil, ¡dale un ⭐ en GitHub!