Skip to main content
Glama
dcolley
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

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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

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