Skip to main content
Glama
gujord

OpenAPI to Model Context Protocol (MCP)

Protocolo de contexto de modelo (MCP) de OpenAPI

Licencia: MITTamaño del repositorioÚltimo compromisoProblemas abiertosVersión de Python

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.

OpenAPI-MCP

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.


Si lo encuentras útil, ¡dale un ⭐ en GitHub!


Related MCP server: MCP Command Proxy

Características principales

  • Transporte FastMCP: optimizado para stdio y 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.txt

Configuració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.json

  • Windsurf: ~/.codeium/windsurf/mcp_config.json

  • Escritorio de Claude: ~/Library/Application Support/Claude/claude_desktop_config.json

Reemplace full_path_to_openapi_mcp con su ruta de instalación real.

Configuración del entorno

Variable

Descripción

Requerido

Por defecto

OPENAPI_URL

URL a la especificación OpenAPI

-

SERVER_NAME

Nombre del servidor MCP

No

openapi_proxy_server

OAUTH_CLIENT_ID

ID de cliente de OAuth

No

-

OAUTH_CLIENT_SECRET

Secreto del cliente OAuth

No

-

OAUTH_TOKEN_URL

URL del punto final del token OAuth

No

-

OAUTH_SCOPE

Ámbito de OAuth

No

api

Cómo funciona

  1. Analiza la especificación OpenAPI: carga la especificación OpenAPI usando httpx y PyYAML si es necesario.

  2. Operaciones de registros: extrae operaciones de API y genera herramientas compatibles con MCP con esquemas de entrada y respuesta adecuados.

  3. Registro de recursos: convierte automáticamente los esquemas de componentes OpenAPI en objetos de recursos con URI asignados (por ejemplo, /resource/{name} ).

  4. Generación de indicaciones: crea indicaciones contextuales basadas en operaciones de API para ayudar a los LLM a comprender el uso de la API.

  5. Autenticación: admite la autenticación OAuth2 a través del flujo de credenciales del cliente.

  6. Manejo de parámetros: convierte los parámetros a los tipos de datos requeridos y admite cadenas de consulta flexibles y formatos JSON.

  7. 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 end

Recursos 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.

OpenAPI-MCP

Contribuyendo

  • Bifurcar este repositorio.

  • Crear una nueva rama.

  • Envíe una solicitud de extracción con una descripción clara de sus cambios.

Licencia

Licencia MIT

Si lo encuentras útil, ¡dale un ⭐ en GitHub!

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gujord/OpenAPI-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server