MCP (Model Context Protocol) は、アプリケーションが大規模言語モデル (LLM) にコンテキストを提供する方法を標準化するために設計されたオープンソースプロトコルです。AI アプリケーションの「USB-C インターフェイス」のように機能し、モデルがさまざまなデータソースやツールに柔軟かつ安全に接続できるようにします。このトピックでは、ゲートウェイで管理される MCP サービスの作成方法について説明します。
概要
MCP サービス管理は、RESTful API から MCP サービスへのスムーズな移行、SSE (Server-Sent Events) および Streamable HTTP プロトコルを介したアクセス、およびコンシューマー ID ベースの認証の統合をサポートし、エンタープライズレベルの API ガバナンスに技術的なサポートを提供します。
MCP は、MCP プロトコルをネイティブにサポートするサービスに適用可能な直接プロキシモードをサポートします。このモードは、効率的なストリーミング通信とコンテキストの保持を可能にし、特に AI 推論やマルチモデルコラボレーションなどの高い同時実行性と長時間接続シナリオに適しています。
MCP は Nacos Registry とも深く統合できます。Nacos が提供する MCP ルーター機能を通じて、サービス登録、検出、および自動プロトコル変換を実装し、既存の HTTP サービスから MCP プロトコルインターフェイスへの「ゼロモディフィケーション」アップグレードをサポートします。Higress AI ゲートウェイと組み合わせることで、サービスの動的な管理とインテリジェントなルーティングが可能になります。
ゲートウェイで管理される MCP サービスの作成
AI ゲートウェイコンソールの [インスタンス] ページで、インスタンスが配置されているリージョンを選択します。
宛先インスタンスのページに移動し、左側のナビゲーションウィンドウから [MCP 管理] を選択します。
[MCP サービスの作成] をクリックします。AI ゲートウェイは、MCP サービスを作成するために次の 2 つのサービスプロトコルを提供します:
バックエンドが MCP サーバーの場合は、MCP プロトコルを選択します。
バックエンドが HTTP サーバーの場合は、HTTP to MCP プロトコルを選択します。
MCP 直接プロキシ
MCP サービスプロトコル構成を選択します:
バックエンドサービス:
[サービス名] を選択し、[サービスプロトコル] として MCP を選択します。
必要に応じて [MCP トランスポート] を選択します。SSE と Streamable HTTP の 2 つのトランスポートプロトコルがサポートされています。
パスを入力します。これはバックエンド MCP サーバーの実際のアクセスパスです。たとえば、バックエンド MCP サーバーのアクセスエンドポイントが xxx.com/sse の場合、パスは /sse になります。xxx.com/test/sse の場合、パスは /test/sse になります。
MCP エンドポイント:
MCP サービスへのアクセスに使用するドメイン名を選択します。複数のドメイン名を選択できます。
MCP エンドポイントのパスは、/mcp-servers、/MCP サービス名、およびバックエンド MCP サーバーの実際のアクセスパスから連結されます。作成後、現在の MCP サービスの基本情報ページに移動します。[ステップ 1. URL の生成] エリアで実際のアクセスエンドポイントアドレスを表示できます。
作成が成功すると、MCP サービスカードに直接プロキシ識別子が表示されます。
HTTP to MCP
HTTP サービスプロトコル構成を選択します:
バックエンドサービス:
[サービス名] を選択し、[サービスプロトコル] として HTTP を選択します。サービスを作成していない場合は、新しく作成する必要があります。テストには FC や DNS などのサービスを使用することをお勧めします。
説明を入力します。説明は必須であり、API の理解度と AI 処理の精度を向上させるための MCP ツールの機能的な目的を示します。
MCP エンドポイント:
MCP サービスへのアクセスに使用するドメイン名を選択します。複数のドメイン名を選択できます。
MCP エンドポイント (SSE) のパスは、/mcp-servers、/MCP サービス名、および /sse から連結されます。
MCP エンドポイント (Streamable HTTP) のパスは、/mcp-servers と MCP サービス名から連結されます。
作成が成功すると、MCP サービスカードに直接プロキシまたは HTTP to MCP 識別子が表示されます。
MCP サービスへのツールの追加
作成が成功したら、サービスにツールを追加できます。手順は次のとおりです:
ターゲットサービスカードをクリックし、[ツールの追加] をクリックします。
MCP サービスは現在、ツールを追加するための 2 つのメソッドをサポートしています:
方法 1:Swagger ファイルに基づく (推奨)
Swagger をインポートして MCP ツールを作成または増分更新: ローカルコンピューターから OpenAPI ファイルをアップロードするか、API 定義を編集ボックスに貼り付けてから、[今すぐ生成] をクリックします。
MCP ツールリストの更新と確認: 生成された MCP ツール記述ファイルを表示し、情報をさらに確認および変更できます。
(オプション) バックエンドサービス認証を有効にする: 認証構成を追加できます。次の表に、さまざまな認証方式を示します:
パラメーター
説明
Basic
ユーザー名とパスワードは、username:password 形式で base64 エンコードされ、HTTP リクエストヘッダーの Authorization フィールドで送信されます。
Bearer
クライアントはまずログインインターフェイスを通じてトークンを取得します。これは通常 JWT です。トークンは、後続の各リクエストの Authorization ヘッダーに含まれます。トークンは通常一時的なものであり、有効期限を設定できます。
API キー
サーバーは、アクセス資格情報としてクライアントに一意の文字列を割り当てます。クライアントは、各リクエストでヘッダーまたはクエリパラメーターを介してこの文字列を送信します。
方法 2:カスタム YAML
カスタム YAML を使用して手動で MCP ツールを作成できます。詳細については、「HTTP to MCP 構成フィールドリファレンス」をご参照ください。
[YAML の例] をクリックします。生成された YAML の例を変更できます。
(オプション) バックエンドサービス認証を有効にする: 認証構成を追加できます。次の表に、さまざまな認証方式を示します:
パラメーター
説明
Basic
ユーザー名とパスワードは、username:password 形式で base64 エンコードされ、HTTP リクエストヘッダーの Authorization フィールドで送信されます。
Bearer
クライアントはまずログインインターフェイスを通じてトークンを取得します。これは通常 JWT です。トークンは、後続の各リクエストの Authorization ヘッダーに含まれます。トークンは通常一時的なものであり、有効期限を設定できます。
API キー
サーバーは、アクセス資格情報としてクライアントに一意の文字列を割り当てます。クライアントは、各リクエストでヘッダーまたはクエリパラメーターを介してこの文字列を送信します。
[確認] をクリックします。[ツール] タブでツールリストとツールの説明情報を表示できます。