Skip to content

認証

概要

swag2mcp は認証が必要な API を扱うための 9 つの認証方式 をサポートしています。設定ファイルに一度設定するだけで、以降 invoke によるすべての API 呼び出しに自動的に適切なトークンとヘッダーが含まれます。

設定場所

認証は swag2mcp.yamlspec レベルで設定します:

yaml
specs:
  - domain: jokes
    llm_title: Dad Joke API
    base_url: https://icanhazdadjoke.com
    collections:
      - llm_title: Jokes
        location: https://raw.githubusercontent.com/mmadfox/swag2mcp/main/specs/dadjoke.yaml
    auth:
      type: bearer
      config:
        token: "my-token"

仕組み

  • 設定で認証タイプとパラメーターを指定します
  • swag2mcp は invoke を呼び出すときに自動的にすべてのリクエストに適用します
  • API を呼び出す前にトークンを要求する必要はありません — 自動的に行われます
  • トークンが期限切れになった場合(OAuth2、Script)、swag2mcp が自動的に更新します

環境変数

機密データ(トークン、パスワード、キー)は $(VAR_NAME) 構文を使用して環境変数に保存できます:

yaml
auth:
  type: bearer
  config:
    token: "$(MY_API_TOKEN)"

swag2mcp は起動時に MY_API_TOKEN の値を代入します。

MCP auth ツール

LLM エージェントは auth MCP ツールを介してトークンやヘッダーを取得できます — 例えば、curl コマンドを構築したりユーザーに表示したりするためです。

本番環境では、このツールは --disable-llm-auth(デフォルトで有効)で無効にし、LLM がトークンにアクセスできないようにする必要があります。

方式一覧

方式説明最適な用途
none認証なし公開 API
basicHTTP Basic(ユーザー名 + パスワード)レガシー API、シンプルな認証
bearerBearer トークン(JWT、トークン)最新の REST API
api-keyヘッダーまたはクエリパラメーターの API キーAPI キーを使用するサービス
digestHTTP Digest(ユーザー名 + パスワード)レガシー API、Basic より安全
hmacHMAC-SHA256 署名(Binance スタイル)暗号通貨取引所
oauth2-ccOAuth2 Client Credentialsサーバー間、マイクロサービス
oauth2-pwdOAuth2 Password Grantユーザーログイン付きアプリ
scriptトークン取得用の外部スクリプト任意のカスタム認証スキーム