Skip to main content
Glama

Swagger MCP Server

by dcolley

Swagger MCP Server

Ein Server, der Swagger/OpenAPI-Spezifikationen über das Model Context Protocol (MCP) aufnimmt und bereitstellt.

Merkmale

  • Lädt Swagger/OpenAPI-Spezifikationen
  • Unterstützt mehrere Authentifizierungsmethoden:
    • Grundlegende Authentifizierung
    • Inhabertoken
    • API-Schlüssel (Header oder Abfrage)
    • OAuth2
  • Generiert automatisch MCP-Tools aus API-Endpunkten
  • Server-Sent Events (SSE)-Unterstützung für Echtzeitkommunikation
  • TypeScript-Unterstützung

Sicherheit

Dies ist ein persönlicher Server! Stellen Sie ihn nicht dem öffentlichen Internet zur Verfügung. Wenn die zugrunde liegende API eine Authentifizierung erfordert, sollten Sie den MCP-Server nicht dem öffentlichen Internet zur Verfügung stellen.

ZU TUN

  • Geheimnisse - der MCP-Server sollte in der Lage sein, Geheimnisse des Benutzers zu verwenden, um Anfragen an die API zu authentifizieren
  • Umfassende Testsuite

Voraussetzungen

  • Node.js (v18 oder höher)
  • Garnpaketmanager
  • Typoskript

Installation

  1. Klonen Sie das Repository:
git clone https://github.com/dcolley/swagger-mcp.git cd swagger-mcp
  1. Installieren Sie Abhängigkeiten:
yarn install
  1. Erstellen Sie eine .env Datei basierend auf dem Beispiel:
cp .env.example .env
  1. Konfigurieren Sie Ihre Swagger/OpenAPI-Spezifikation:
    • Platzieren Sie Ihre Swagger-Datei im Projekt (z. B. swagger.json ).
    • Oder geben Sie eine URL zu Ihrer Swagger-Spezifikation an
  2. Aktualisieren Sie die Konfiguration in config.json mit Ihren Servereinstellungen:
{ "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" } } }

Hinweis: Der Server priorisiert Einstellungen aus der Swagger-Spezifikation gegenüber der Konfigurationsdatei:

  • Wenn die Swagger-Datei ein servers Array enthält, wird die erste Server-URL als Basis-URL verwendet.
  • Wenn die Swagger-Datei Sicherheitsschemata definiert, werden diese zur Authentifizierung verwendet
  • Die Einstellungen der Konfigurationsdatei dienen als Fallback, wenn sie nicht in der Swagger-Datei angegeben sind

Verwendung

  1. Starten Sie den Entwicklungsserver:
yarn dev
  1. Für die Produktion erstellen:
yarn build
  1. Starten Sie den Produktionsserver:
yarn start

API-Endpunkte

  • GET /health - Server-Gesundheitsstatus prüfen
  • GET /sse - Server-Sent Events-Verbindung herstellen
  • POST /messages - Senden Sie Nachrichten an den MCP-Server

Testen

Führen Sie die Testsuite aus:

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

Authentifizierung

Der Server unterstützt verschiedene Authentifizierungsmethoden. Konfigurieren Sie diese in der Datei config.json als Fallbacks, sofern sie nicht in der Swagger-Datei angegeben sind:

Grundlegende Authentifizierung

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

Inhabertoken

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

API-Schlüssel

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

OAuth2

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

Entwicklung

  1. Starten Sie den Entwicklungsserver:
yarn dev

Lizenz

Dieses Projekt ist unter der Apache 2.0-Lizenz lizenziert.

Umgebungsvariablen

  • PORT : Server-Port (Standard: 3000)
  • API_USERNAME : Benutzername für die API-Authentifizierung (Fallback)
  • API_PASSWORD : Passwort für die API-Authentifizierung (Fallback)
  • API_TOKEN : API-Token zur Authentifizierung (Fallback)
  • DEFAULT_API_BASE_URL : Standard-Basis-URL für API-Endpunkte (Fallback)
  • DEFAULT_SWAGGER_URL : Standard-Swagger-Spezifikations-URL
-
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.

Ein Server, der die Interaktion mit jeder API ermöglicht, die über eine Swagger/OpenAPI-Spezifikation über das Model Context Protocol (MCP) verfügt, automatisch Tools aus API-Endpunkten generiert und mehrere Authentifizierungsmethoden unterstützt.

  1. Merkmale
    1. Sicherheit
      1. ZU TUN
        1. Voraussetzungen
          1. Installation
            1. Verwendung
              1. API-Endpunkte
                1. Testen
                  1. Authentifizierung
                    1. Grundlegende Authentifizierung
                    2. Inhabertoken
                    3. API-Schlüssel
                    4. OAuth2
                  2. Entwicklung
                    1. Lizenz
                      1. Umgebungsvariablen

                        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