OpenAPI to Model Context Protocol (MCP)

by gujord
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Uses Swagger/OpenAPI specifications to dynamically generate MCP tools, enabling AI agents to interact with any API that provides an OpenAPI specification

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.


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


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

VariableDescripciónRequeridoPor defecto
OPENAPI_URLURL a la especificación OpenAPI-
SERVER_NAMENombre del servidor MCPNoopenapi_proxy_server
OAUTH_CLIENT_IDID de cliente de OAuthNo-
OAUTH_CLIENT_SECRETSecreto del cliente OAuthNo-
OAUTH_TOKEN_URLURL del punto final del token OAuthNo-
OAUTH_SCOPEÁmbito de OAuthNoapi

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.

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.

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

Un servidor proxy que conecta agentes de IA y API externas al traducir dinámicamente las especificaciones OpenAPI en herramientas MCP estandarizadas, lo que permite una interacción fluida sin código de integración personalizado.

  1. Bridge the gap between AI agents and external APIs
    1. Key Features
      1. Quick Start
        1. Installation
      2. LLM Orchestrator Configuration
        1. Environment Configuration
      3. How It Works
        1. Resources & Prompts
          1. Contributing
            1. License
              ID: ldb71anrbp