OpenAPI MCP Server

hybrid server

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

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.

Inicio rápido

No es necesario clonar este repositorio para usar este servidor MCP. Simplemente puede configurarlo en Claude Desktop:

  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 para habilitar el servidor OpenAPI MCP:
{ "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:valor separados por comas para encabezados de autenticación de API

Herramientas de desarrollo

Este proyecto incluye varias herramientas de desarrollo para facilitar su flujo de trabajo:

Edificio

  • 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

Modo de desarrollo

  • 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

Calidad del código

  • npm run lint - Ejecuta ESLint
  • npm run typecheck : verifica los tipos de TypeScript

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")

Argumentos de la línea de comandos

npm run inspect -- \ --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"

Flujo de trabajo de desarrollo

  1. Iniciar el entorno de desarrollo:
npm run inspect-watch
  1. Realizar cambios en los archivos TypeScript en src/
  2. El servidor se reconstruirá y reiniciará automáticamente.
  3. Utilice la interfaz de usuario del Inspector MCP para probar sus cambios

Depuración

El servidor envía los registros de depuración a la salida estándar. Para consultarlos:

  1. En modo de desarrollo:
    • Los registros aparecen en la terminal ejecutando inspect-watch
  2. Cuando se ejecuta directamente:
    npm run inspect 2>debug.log

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
F
license - not found
-
quality - not tested

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. Quick Start
    1. Development Tools
      1. Building
      2. Development Mode
      3. Code Quality
    2. Configuration
      1. Environment Variables
      2. Command Line Arguments
    3. Development Workflow
      1. Debugging
        1. Contributing
          1. License
            ID: org9aj8cva