Skip to main content
Glama

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

Related MCP server: Swagger MCP Server

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

Latest Blog Posts

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