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

                        • -
                          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
                          A
                          license
                          -
                          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 -
                          19
                          TypeScript
                          MIT License
                          • Linux
                          • Apple
                        • -
                          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 -
                          21
                          1
                          TypeScript
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A server that translates Model Context Protocol (MCP) tool callings to traditional HTTP API requests, allowing existing HTTP APIs to be integrated into MCP territory through configurable mappings.
                          Last updated -
                          Python
                          Apache 2.0

                        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