Skip to main content
Glama
dcolley
by dcolley

Swagger MCP サーバー

モデル コンテキスト プロトコル (MCP) を通じて Swagger/OpenAPI 仕様を取り込んで提供するサーバー。

特徴

  • Swagger/OpenAPI仕様をロードします

  • 複数の認証方法をサポートします:

    • 基本認証

    • 無記名トークン

    • APIキー(ヘッダーまたはクエリ)

    • OAuth2

  • APIエンドポイントからMCPツールを自動生成

  • リアルタイム通信のためのサーバー送信イベント(SSE)サポート

  • TypeScriptサポート

Related MCP server: Swagger MCP Server

安全

これは個人用サーバーです。パブリックインターネットに公開しないでください。基盤となるAPIに認証が必要な場合は、MCPサーバーをパブリックインターネットに公開しないでください。

やるべきこと

  • シークレット - MCP サーバーは、ユーザーからのシークレットを使用して API へのリクエストを認証できる必要があります。

  • 包括的なテストスイート

前提条件

  • Node.js (v18以上)

  • Yarn パッケージマネージャー

  • タイプスクリプト

インストール

  1. リポジトリをクローンします。

git clone https://github.com/dcolley/swagger-mcp.git
cd swagger-mcp
  1. 依存関係をインストールします:

yarn install
  1. 例に基づいて.envファイルを作成します。

cp .env.example .env
  1. Swagger/OpenAPI 仕様を構成します。

    • Swagger ファイルをプロジェクトに配置します (例: swagger.json )

    • または、Swagger仕様のURLを入力してください

  2. サーバー設定に合わせてconfig.jsonの設定を更新します。

{
  "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"
    }
  }
}

注: サーバーは、構成ファイルよりも Swagger 仕様の設定を優先します。

  • Swaggerファイルにservers配列が含まれている場合、最初のサーバURLがベースURLとして使用されます。

  • Swaggerファイルでセキュリティスキームが定義されている場合は、それが認証に使用されます。

  • 設定ファイルの設定は、Swaggerファイルで指定されていない場合にフォールバックとして機能します。

使用法

  1. 開発サーバーを起動します。

yarn dev
  1. 生産用にビルド:

yarn build
  1. 本番サーバーを起動します。

yarn start

APIエンドポイント

  • GET /health - サーバーのヘルスステータスを確認する

  • GET /sse - Server-Sent Events接続を確立する

  • POST /messages - MCPサーバーにメッセージを送信する

テスト

テスト スイートを実行します。

# Run tests once
yarn test

# Run tests in watch mode
yarn test:watch

# Run tests with coverage report
yarn test:coverage

認証

サーバーは様々な認証方法をサポートしています。Swaggerファイルで指定されていない場合は、 config.jsonファイルでフォールバックとして設定してください。

基本認証

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

無記名トークン

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

APIキー

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

OAuth2

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

発達

  1. 開発サーバーを起動します。

yarn dev

ライセンス

このプロジェクトは、Apache 2.0 ライセンスに基づいてライセンスされます。

環境変数

  • PORT : サーバーポート(デフォルト: 3000)

  • API_USERNAME : API認証のユーザー名(フォールバック)

  • API_PASSWORD : API認証用のパスワード(フォールバック)

  • API_TOKEN : 認証用のAPIトークン(フォールバック)

  • DEFAULT_API_BASE_URL : APIエンドポイントのデフォルトのベースURL(フォールバック)

  • DEFAULT_SWAGGER_URL : デフォルトのSwagger仕様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