Skip to main content
Glama

OpenAPI MCP Server

Servidor MCP de OpenAPI

Un servidor de Protocolo de Contexto de Modelo (MCP) que expone los puntos finales de OpenAPI como recursos MCP. Este servidor permite que los Modelos de Lenguaje Grandes detecten e interactúen con las API REST definidas por las especificaciones de OpenAPI a través del protocolo MCP.

Descripción general

Este servidor MCP admite dos métodos de transporte:

  1. Transporte Stdio (predeterminado): para la integración directa con sistemas de IA como Claude Desktop que administran conexiones MCP a través de entrada/salida estándar.
  2. Transporte HTTP transmitible : para conectarse al servidor a través de HTTP, lo que permite que los clientes web y otros sistemas compatibles con HTTP utilicen el protocolo MCP.

Inicio rápido para usuarios

Opción 1: Uso con Claude Desktop (Stdio Transport)

No es necesario clonar este repositorio. Simplemente configure Claude Desktop para usar este servidor MCP:

  1. Localice o cree su archivo de configuración de Claude Desktop:
    • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Agregue la siguiente configuración:
{ "mcpServers": { "openapi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "https://api.example.com", "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json", "API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key" } } } }
  1. Reemplace las variables de entorno con su configuración de API actual:
    • API_BASE_URL : La URL base de su API
    • OPENAPI_SPEC_PATH : URL o ruta a su especificación OpenAPI
    • API_HEADERS : pares clave separados por comas para encabezados de autenticación de API

Opción 2: Uso con clientes HTTP (Transporte HTTP)

Para utilizar el servidor con clientes HTTP:

  1. ¡No requiere instalación! Usa npx para ejecutar el paquete directamente:
npx @ivotoby/openapi-mcp-server \ --api-base-url https://api.example.com \ --openapi-spec https://api.example.com/openapi.json \ --headers "Authorization:Bearer token123" \ --transport http \ --port 3000
  1. Interactuar con el servidor mediante solicitudes HTTP:
# Initialize a session (first request) curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"client":{"name":"curl-client","version":"1.0.0"},"protocol":{"name":"mcp","version":"2025-03-26"}}}' # The response includes a Mcp-Session-Id header that you must use for subsequent requests # and the InitializeResult directly in the POST response body. # Send a request to list tools # This also receives its response directly on this POST request. curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -H "Mcp-Session-Id: your-session-id" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' # Open a streaming connection for other server responses (e.g., tool execution results) # This uses Server-Sent Events (SSE). curl -N http://localhost:3000/mcp -H "Mcp-Session-Id: your-session-id" # Example: Execute a tool (response will arrive on the GET stream) # curl -X POST http://localhost:3000/mcp \ # -H "Content-Type: application/json" \ # -H "Mcp-Session-Id: your-session-id" \ # -d '{"jsonrpc":"2.0","id":2,"method":"tools/execute","params":{"name":"yourToolName", "arguments": {}}}' # Terminate the session when done curl -X DELETE http://localhost:3000/mcp -H "Mcp-Session-Id: your-session-id"

Tipos de transporte

Transporte de Stdio (predeterminado)

El transporte stdio está diseñado para la integración directa con sistemas de IA como Claude Desktop, que gestionan conexiones MCP mediante entrada/salida estándar. Esta es la configuración más sencilla y no requiere configuración de red.

Cuándo usarlo : cuando se integra con Claude Desktop u otros sistemas que admiten la comunicación MCP basada en stdio.

Transporte HTTP transmisible

El transporte HTTP permite acceder al servidor MCP mediante HTTP, lo que permite que las aplicaciones web y otros clientes compatibles con HTTP interactúen con el protocolo MCP. Admite la gestión de sesiones, la transmisión de respuestas y los métodos HTTP estándar.

Características principales :

  • Gestión de sesiones con el encabezado Mcp-Session-Id
  • Las respuestas HTTP para las solicitudes initialize y tools/list se envían de manera sincrónica en el POST.
  • Otros mensajes de servidor a cliente (por ejemplo, resultados tools/execute , notificaciones) se transmiten a través de una conexión GET mediante eventos enviados por el servidor (SSE).
  • Compatibilidad con los métodos POST/GET/DELETE

Cuándo usarlo : cuando necesita exponer el servidor MCP a clientes web o sistemas que se comunican a través de HTTP en lugar de stdio.

Opciones de configuración

El servidor se puede configurar a través de variables de entorno o argumentos de línea de comando:

Variables de entorno

  • API_BASE_URL : URL base para los puntos finales de la API
  • OPENAPI_SPEC_PATH - Ruta o URL a la especificación OpenAPI
  • API_HEADERS : pares clave-valor separados por comas para encabezados de API
  • SERVER_NAME : Nombre del servidor MCP (predeterminado: "mcp-openapi-server")
  • SERVER_VERSION - Versión del servidor (predeterminado: "1.0.0")
  • TRANSPORT_TYPE - Tipo de transporte a utilizar: "stdio" o "http" (predeterminado: "stdio")
  • HTTP_PORT - Puerto para transporte HTTP (predeterminado: 3000)
  • HTTP_HOST : host para el transporte HTTP (predeterminado: "127.0.0.1")
  • ENDPOINT_PATH : Ruta del punto final para el transporte HTTP (predeterminado: "/mcp")

Argumentos de la línea de comandos

npx @ivotoby/openapi-mcp-server \ --api-base-url https://api.example.com \ --openapi-spec https://api.example.com/openapi.json \ --headers "Authorization:Bearer token123,X-API-Key:your-api-key" \ --name "my-mcp-server" \ --version "1.0.0" \ --transport http \ --port 3000 \ --host 127.0.0.1 \ --path /mcp

Consideraciones de seguridad

  • El transporte HTTP valida los encabezados de origen para evitar ataques de revinculación de DNS
  • De forma predeterminada, el transporte HTTP solo se vincula al host local (127.0.0.1)
  • Si se expone a otros hosts, considere implementar autenticación adicional

Depuración

Para ver los registros de depuración:

  1. Al utilizar el transporte stdio con Claude Desktop:
    • Los registros aparecen en los registros de Claude Desktop
  2. Al utilizar el transporte HTTP:
    npx @ivotoby/openapi-mcp-server --transport http 2>debug.log

Para desarrolladores

Herramientas de desarrollo

  • npm run build : crea el código fuente de TypeScript
  • npm run clean : elimina artefactos de compilación
  • npm run typecheck : ejecuta la comprobación de tipos de TypeScript
  • npm run lint - Ejecuta ESLint
  • npm run dev : supervisa los archivos fuente y reconstruye los cambios
  • npm run inspect-watch : ejecuta el inspector con recarga automática al realizar cambios

Flujo de trabajo de desarrollo

  1. Clonar el repositorio
  2. Instalar dependencias: npm install
  3. Inicie el entorno de desarrollo: npm run inspect-watch
  4. Realizar cambios en los archivos TypeScript en src/
  5. El servidor se reconstruirá y reiniciará automáticamente.

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Realiza tus cambios
  4. Ejecutar pruebas y linting: npm run typecheck && npm run lint
  5. Enviar una solicitud de extracción

Licencia

Instituto Tecnológico de Massachusetts (MIT)

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor que permite que los modelos de lenguaje grandes descubran e interactúen con las API REST definidas por las especificaciones OpenAPI a través del Protocolo de contexto de modelo.

  1. Descripción general
    1. Inicio rápido para usuarios
      1. Opción 1: Uso con Claude Desktop (Stdio Transport)
      2. Opción 2: Uso con clientes HTTP (Transporte HTTP)
    2. Tipos de transporte
      1. Transporte de Stdio (predeterminado)
      2. Transporte HTTP transmisible
    3. Opciones de configuración
      1. Variables de entorno
      2. Argumentos de la línea de comandos
    4. Consideraciones de seguridad
      1. Depuración
        1. Para desarrolladores
          1. Herramientas de desarrollo
          2. Flujo de trabajo de desarrollo
          3. Contribuyendo
        2. Licencia

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
            Last updated -
            2
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            A server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).
            Last updated -
            143
            1
            TypeScript
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.
            Last updated -
            4
            3
            TypeScript
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides standardized interfaces for interacting with Ollama API, offering JSON responses, error handling, and intelligent guidance for LLM-based API calls.
            Last updated -
            Python
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          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/ivo-toby/mcp-openapi-server'

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