Skip to main content
Glama

Swagger MCP Server

by dcolley

Servidor Swagger MCP

Un servidor que ingiere y sirve especificaciones Swagger/OpenAPI a través del Protocolo de Contexto de Modelo (MCP).

Características

  • Carga las especificaciones Swagger/OpenAPI
  • Admite múltiples métodos de autenticación:
    • Autorización básica
    • Token al portador
    • Clave API (encabezado o consulta)
    • OAuth2
  • Genera automáticamente herramientas MCP desde puntos finales de API
  • Compatibilidad con eventos enviados por el servidor (SSE) para comunicación en tiempo real
  • Compatibilidad con TypeScript

Seguridad

¡Este es un servidor personal! No lo exponga a internet. Si la API subyacente requiere autenticación, no debe exponer el servidor MCP a internet.

HACER

  • secretos: el servidor MCP debe poder usar secretos del usuario para autenticar solicitudes a la API
  • Conjunto completo de pruebas

Prerrequisitos

  • Node.js (v18 o superior)
  • Administrador de paquetes de hilo
  • Mecanografiado

Instalación

  1. Clonar el repositorio:
git clone https://github.com/dcolley/swagger-mcp.git cd swagger-mcp
  1. Instalar dependencias:
yarn install
  1. Cree un archivo .env basado en el ejemplo:
cp .env.example .env
  1. Configure su especificación Swagger/OpenAPI:
    • Coloque su archivo Swagger en el proyecto (por ejemplo, swagger.json )
    • O proporcione una URL a su especificación Swagger
  2. Actualice la configuración en config.json con la configuración de su servidor:
{ "server": { "host": "localhost", "port": 3000 }, "swagger": { "url": "url-or-path/to/your/swagger.json", "apiBaseUrl": "https://api.example.com", // Fallback if not specified in Swagger "defaultAuth": { // Fallback if not specified in Swagger "type": "apiKey", "apiKey": "your-api-key", "apiKeyName": "api_key", "apiKeyIn": "header" } } }

Nota: El servidor prioriza las configuraciones de la especificación Swagger sobre el archivo de configuración:

  • Si el archivo Swagger contiene una matriz servers , la URL del primer servidor se utilizará como URL base
  • Si el archivo Swagger define esquemas de seguridad, se utilizarán para la autenticación.
  • Las configuraciones del archivo de configuración sirven como respaldo cuando no se especifican en el archivo Swagger

Uso

  1. Inicie el servidor de desarrollo:
yarn dev
  1. Construir para producción:
yarn build
  1. Inicie el servidor de producción:
yarn start

Puntos finales de API

  • GET /health - Verificar el estado de salud del servidor
  • GET /sse - Establecer conexión de eventos enviados por el servidor
  • POST /messages - Envía mensajes al servidor MCP

Pruebas

Ejecute el conjunto de pruebas:

# Run tests once yarn test # Run tests in watch mode yarn test:watch # Run tests with coverage report yarn test:coverage

Autenticación

El servidor admite varios métodos de autenticación. Configúrelos en el archivo config.json como respaldo si no se especifican en el archivo Swagger:

Autorización básica

{ "defaultAuth": { "type": "basic", "username": "your-username", "password": "your-password" } }

Token al portador

{ "defaultAuth": { "type": "bearer", "token": "your-bearer-token" } }

Clave API

{ "defaultAuth": { "type": "apiKey", "apiKey": "your-api-key", "apiKeyName": "X-API-Key", "apiKeyIn": "header" } }

OAuth2

{ "defaultAuth": { "type": "oauth2", "token": "your-oauth-token" } }

Desarrollo

  1. Inicie el servidor de desarrollo:
yarn dev

Licencia

Este proyecto está licenciado bajo la licencia Apache 2.0.

Variables de entorno

  • PORT : Puerto del servidor (predeterminado: 3000)
  • API_USERNAME : Nombre de usuario para la autenticación de API (respaldo)
  • API_PASSWORD : Contraseña para la autenticación de API (alternativa)
  • API_TOKEN : token de API para autenticación (respaldo)
  • DEFAULT_API_BASE_URL : URL base predeterminada para los puntos finales de API (respaldo)
  • DEFAULT_SWAGGER_URL : URL de especificación de Swagger predeterminada
-
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 la interacción con cualquier API que tenga una especificación Swagger/OpenAPI a través del Protocolo de Contexto de Modelo (MCP), generando automáticamente herramientas desde los puntos finales de la API y admitiendo múltiples métodos de autenticación.

  1. Características
    1. Seguridad
      1. HACER
        1. Prerrequisitos
          1. Instalación
            1. Uso
              1. Puntos finales de API
                1. Pruebas
                  1. Autenticación
                    1. Autorización básica
                    2. Token al portador
                    3. Clave API
                    4. OAuth2
                  2. Desarrollo
                    1. Licencia
                      1. Variables de entorno

                        Related MCP Servers

                        • A
                          security
                          A
                          license
                          A
                          quality
                          An MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.
                          Last updated -
                          5
                          14
                          55
                          TypeScript
                          MIT License
                          • Linux
                          • Apple
                        • A
                          security
                          F
                          license
                          A
                          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 -
                          12
                          39
                          14
                          TypeScript
                        • A
                          security
                          A
                          license
                          A
                          quality
                          MCP server providing token-efficient access to OpenAPI/Swagger specs via MCP Resources for client-side exploration.
                          Last updated -
                          30
                          37
                          TypeScript
                          MIT License
                        • A
                          security
                          A
                          license
                          A
                          quality
                          A tool that creates MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications, enabling AI assistants to interact with your APIs.
                          Last updated -
                          3
                          21
                          21
                          TypeScript
                          MIT License
                          • 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/dcolley/swagger-mcp'

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