ゲートウェイサービス設定
設定例
以下は、ルーティング、CORS、レスポンス処理などを含む完全な設定例です:
name: "mock-server"             # プロキシサービス名、グローバルに一意
# ルーター設定
routers:
  - server: "mock-server"       # サービス名
    prefix: "/mcp/user"         # ルートプレフィックス、グローバルに一意、重複不可、サービスまたはドメイン+モジュールで区別することを推奨
    # CORS設定
    cors:
      allowOrigins:             # 開発テスト環境ではすべて開放可能、本番環境では必要に応じて開放することをお勧めします。(ほとんどのMCPクライアントはCORSを必要としません)
        - "*"
      allowMethods:             # 許可するリクエストメソッド、必要に応じて開放。MCP(SSEとStreamable)の場合、通常これら3つのメソッドのみが必要
        - "GET"
        - "POST"
        - "OPTIONS"
      allowHeaders:
        - "Content-Type"        # 必須の許可
        - "Authorization"       # 認証ニーズのためにリクエストでこのキーを携帯する必要がある
        - "Mcp-Session-Id"      # MCPの場合、Streamable HTTPが正常に機能するためにはリクエストでこのキーを携帯することが必要
      exposeHeaders:
        - "Mcp-Session-Id"      # MCPの場合、CORSが有効になっているときにこのキーを公開する必要がある、そうでなければStreamable HTTPが正常に機能しない
      allowCredentials: true    # Access-Control-Allow-Credentials: trueというヘッダーを追加するかどうか
1. 基本設定
name: プロキシサービス名、グローバルに一意、異なるプロキシサービスを識別するために使用routers: ルーター設定リスト、リクエスト転送ルールを定義servers: サーバー設定リスト、サービスのメタデータと許可されたツールを定義tools: ツール設定リスト、特定のAPI呼び出しルールを定義
設定を名前空間として扱うことができ、サービスまたはドメインによって区別することを推奨します。サービスには多くのAPIインターフェイスが含まれ、各APIインターフェイスはツールに対応しています。
2. ルーター設定
ルーター設定はリクエスト転送ルールを定義するために使用されます:
routers:
  - server: "mock-server"       # サービス名、serversの名前と一致する必要がある
    prefix: "/mcp/user"         # ルートプレフィックス、グローバルに一意、重複不可
body: パラメータはJSONリクエストボディに配置されますform-data: パラメータはmultipart/form-dataリクエストボディに配置され、ファイルアップロードなどのシナリオで使用されます
各パラメータにはデフォルト値を設定できます。MCPリクエストでパラメータが提供されない場合、デフォルト値が自動的に使用されます。デフォルト値が空文字列("")の場合でも使用されます。例えば:
args:
  - name: "theme"
    position: "body"
    required: true
    type: "string"
    description: "User interface theme"
    default: "light"    # リクエストでthemeパラメータが提供されない場合、"light"がデフォルト値として使用されます
form-dataをパラメータ位置として使用する場合、requestBodyを指定する必要はありません。システムは自動的にパラメータをmultipart/form-data形式に組み立てます。例えば: