適用対象: Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
この記事では、モデル コンテキスト プロトコル (MCP) サーバーの管理に使用できる Azure API Management の機能について説明します。 MCP サーバーを使用すると、大規模な言語モデル (LLM) と AI エージェントは、標準化されたプロトコルを使用して、データベースや API などの外部データ ソースにアクセスできます。
AI エージェントと大規模言語モデル (LLM) の急増に伴い、MCP サーバーの管理はますます重要になっています。
- エージェントには、セキュリティで保護された管理されたツールとリソースへのアクセスが必要です
- 開発者は、既存の API をエージェント ツールとして再利用する必要があります
- 企業には、可観測性、制御、スケーリングが必要です
API Management を使用して、GITHub Copilot、ChatGPT、Claude などの LLM および AI エージェントの MCP サーバーとそのバックエンドを安全に公開および管理します。 API Management では、MCP サーバーの認証、承認、監視を一元的に制御できます。 MCP サーバーの管理を簡素化すると同時に、一般的なセキュリティ リスクを軽減し、監視、制御、スケーラビリティを確保できます。
MCP の概念とアーキテクチャ
LLM 機能の強化により、AI エージェントが広く採用されつつあります。 ただし、最も高度なモデルでも、外部データから分離されているため、制限に直面します。 新しいデータ ソースごとに、モデルのデータを抽出、準備、およびアクセスできるようにするためのカスタム実装が必要になる可能性があります。
モデル コンテキスト プロトコル (MCP) は、この問題の解決に役立ちます。 MCP は、AI モデルとエージェントを、ローカル データ ソース (データベースまたはコンピューター ファイル) やリモート サービス (リモート データベースや API など、インターネット経由で利用可能なシステム) などの外部データ ソースと接続するためのオープン標準です。
MCP は、ホスト アプリケーションが複数のサーバーに接続できるクライアント/サーバー アーキテクチャに従います。 MCP ホストまたはクライアントがツールを必要とする場合は常に、MCP サーバーに接続します。 その後、MCP サーバーは、データベースや API などに接続します。 MCP ホストとサーバーは、MCP プロトコルを介して相互に接続します。
次の図は、MCP アーキテクチャを示しています。
アーキテクチャは、次のコンポーネントで構成されています。
コンポーネント | 説明 |
---|---|
MCP ホスト | 外部機能にアクセスする必要がある IDE のチャット アプリや AI アシスタントなどの LLM アプリケーション (Visual Studio Code の GitHub Copilot など) |
MCP クライアント | ホスト アプリケーション内で、サーバーとの 1 対 1 の接続を維持するプロトコル クライアント |
MCP サーバー | それぞれが特定の機能を公開し、コンテキスト、ツール、プロンプトをクライアントに提供する軽量プログラム |
MCP プロトコル | 中央のトランスポート 層 |
MCP アーキテクチャは、 メッセージングのためにJSON-RPC 2.0 上に構築されています。 クライアントとサーバー間の通信は、定義されたトランスポート層を介して行われ、主に 2 つの操作モードをサポートします。
リモート MCP サーバー - HTTP ベースのトランスポート (Streamable HTTP など) を使用してインターネット経由でアクセスできる独立したプロセスとして実行し、MCP クライアントが任意の場所でホストされている外部サービスと API に接続できるようにします。
ローカル MCP サーバー MCP クライアントは、ローカル トランスポート方式として標準の入出力を使用して、同じマシン上の MCP サーバーに接続します。
MCP サーバー エンドポイント
MCP には、次のトランスポートの種類と、リモート サーバーの一般的なエンドポイントが用意されています。
トランスポートの種類 | エンドポイント | 注記 |
---|---|---|
ストリーミング可能な HTTP | /mcp |
HTTP + SSE トランスポートを置き換えます |
SSE (サーバー送信イベント) |
/sse - SSE 接続を確立するために使用/messages - MCP クライアントとサーバー間の双方向メッセージングに使用されます |
プロトコル バージョンの時点で非推奨 2024-11-05 |
API Management で MCP サーバーを公開する
Azure API Management では、API Management のネイティブ機能と AI ゲートウェイの機能 を使用して MCP サーバー エンドポイントを管理するリモート MCP サーバー モードがサポートされています。
プレビューでは、API Management には、MCP サーバーを公開するための 2 つの組み込み方法が用意されています。
情報源 | 説明 |
---|---|
MCP サーバーとしての REST API | AZURE リソースからインポートされた REST API を含め、API Management で管理されている REST API を MCP サーバーとして公開します。 API 操作は MCP ツールになります。 詳細情報 |
既存の MCP サーバー | API Management を使用して MCP 互換サーバー (LangChain、LangServe、Azure ロジック アプリ、Azure 関数アプリなど) を公開します。 詳細情報 |
詳細な手順とプレビューの制限事項については、リンクされた記事を参照してください。
MCP サーバーの管理
MCP サーバーの管理に役立つ 1 つ以上の API Management ポリシー を構成します。 現在、ポリシーは MCP サーバーのツールとして公開されているすべての API 操作に適用され、アクセス、認証、およびツールのその他の側面を制御するために使用できます。
次のようなポリシーを構成します。
- レート制限とクォータの適用 - 期間あたりの要求数を MCP サーバーのツールに制限し、クライアントまたはサブスクリプションの使用量クォータを設定します。
- 認証と承認 - セキュリティで保護されたアクセスのために Microsoft Entra ID または他の ID プロバイダーによって発行された JSON Web トークン (JWT) を使用して、受信要求を要求および検証します。
- IP フィルタリング - クライアント IP アドレスに基づいて MCP サーバーのツールへのアクセスを制限します。
- キャッシュ - パフォーマンスを向上させ、バックエンドの負荷を軽減するために、MCP サーバーのツールからの応答をキャッシュします。
MCP サーバーへのアクセスをセキュリティで保護する
MCP サーバーへの受信アクセス (MCP クライアントから API Management) と送信アクセス (API Management から MCP サーバー バックエンド) のいずれかまたは両方をセキュリティで保護できます。 バックエンドと組織のセキュリティ体制に応じて、1 つ以上のセキュリティ対策を適用します。
詳細と例については、「 MCP サーバーへのセキュリティで保護されたアクセス」を参照してください。
モニタリング
Azure API Management で MCP サーバーを監視するには、API Management と Azure Monitor for Gateway アクティビティの組み込み統合を使用できます。
- MCP サーバーの要求、応答、詳細な診断をキャプチャするように Azure Application Insights または Azure Monitor を構成します。
- 複数のシステムとコンポーネントにわたる要求を追跡するために、要求ヘッダーに関連付け ID を含めます。
- テスト コンソール、Application Insights テレメトリ、またはリソース ログの要求トレース出力にカスタム トレースを追加するように、MCP サーバーの トレース ポリシーを構成します。
詳細については、「 API Management の監視」を参照してください。
MCP サーバーの検出
Azure API Center を使用して、組織内の MCP サーバーを登録して検出します。
Azure API Center は、API Management で公開されているサーバーや API Management の外部でホストされているサーバーなど、MCP サーバーを管理するための一元的な場所を提供します。
API センター ポータルをデプロイして、ユーザーがエンタープライズ対応のプライベート MCP サーバー レジストリを使用して MCP サーバーを検出して操作できるようにします。
可用性
プレビューでは、API Management の MCP サーバーは次のサービス レベルで利用できます。
- クラシック レベル: Basic、Standard、Premium
- v2 レベル: Basic v2、Standard v2、Premium v2
注
- クラシック レベルでは、 AI Gateway 早期更新グループに参加して MCP サーバー機能にアクセスします。
- MCP サーバーは、 ワークスペースまたはセルフ ホステッド ゲートウェイでは現在サポートされていません。
関連コンテンツ
Azure API Center を使用して作成された MCP サーバー レジストリのライブ例については、 https://mcp.azure.com を参照してください。