次の方法で共有


API インベントリにリモート MCP サーバーを登録して検出する

この記事では、Azure API Center を使用してリモート モデル コンテキスト プロトコル (MCP) サーバーのインベントリ (または レジストリ) を維持し、関係者が API センター ポータルを使用してそれらを検出できるようにする方法について説明します。 MCP サーバーは、バックエンド API またはデータ ソースを使用する AI エージェントとモデルに標準的な方法で公開します。

MCP サーバーについて

大規模言語モデル (LLM) 機能の強化により、AI エージェントが広く採用されています。 ただし、最も高度なモデルでも、外部データから分離されているため、制限に直面します。 新しいデータ ソースごとに、モデルのデータを抽出、準備、およびアクセスできるようにするためのカスタム実装が必要になる可能性があります。

モデル コンテキスト プロトコル (MCP) は、この問題の解決に役立ちます。 MCP は、AI モデルとエージェントを、ローカル データ ソース (データベースまたはコンピューター ファイル) やリモート サービス (リモート データベースや API など、インターネット経由で利用可能なシステム) などの外部データ ソースと接続するためのオープン標準です。

MCP アーキテクチャ

次の図は、MCP アーキテクチャを示しています。

モデル コンテキスト プロトコル (MCP) アーキテクチャの図。

アーキテクチャは、次のコンポーネントで構成されています。

コンポーネント 説明
MCP ホスト 外部機能にアクセスする必要がある IDE のチャット アプリや AI アシスタントなどの LLM アプリケーション (Visual Studio Code の GitHub Copilot など)
MCP クライアント ホスト アプリケーション内で、サーバーとの 1 対 1 の接続を維持するプロトコル クライアント
MCP サーバー それぞれが特定の機能を公開し、コンテキスト、ツール、プロンプトをクライアントに提供する軽量プログラム
MCP プロトコル 中央のトランスポート 層

MCP は、ホスト アプリケーションが複数のサーバーに接続できるクライアント/サーバー アーキテクチャに従います。 MCP ホストまたはクライアントがツールを必要とする場合は常に、MCP サーバーに接続します。 その後、MCP サーバーは、データベースや API などに接続します。 MCP ホストとサーバーは、MCP プロトコルを介して相互に接続します。

リモートとローカルの MCP サーバー

MCP では、 メッセージング用にJSON-RPC 2.0 に基づいて構築されたクライアント/ホスト/サーバー アーキテクチャを利用します。 クライアントとサーバー間の通信は、定義されたトランスポート層を介して行われ、主に 2 つの操作モードをサポートします。

  • リモート MCP サーバー - MCP クライアントはインターネット経由で MCP サーバーに接続し、HTTP およびサーバー送信イベント (SSE) を使用して接続を確立し、OAuth を使用してユーザーのアカウント上のリソースへの MCP クライアント アクセスを承認します。

  • ローカル MCP サーバー MCP クライアントは、ローカル トランスポート方法として標準の入出力を使用して、同じコンピューター上の MCP サーバーに接続します。

API インベントリ内の MCP サーバー

次のセクションでは、API センターでリモート MCP サーバーをインベントリして検出する方法について説明します。

MCP API の種類

API センター インベントリに MCP サーバーを登録するには、API の種類を MCP として指定します。 Azure portal を使用して API を登録するには、「 チュートリアル: API インベントリに API を登録する」を参照してください

以降のセクションで説明するように、MCP サーバーを登録するときに、環境、デプロイ、および定義を指定できます。

MCP サーバーの環境とデプロイ

API Center で、MCP サーバーの 環境デプロイ を指定します。 環境は、API 管理プラットフォームやコンピューティング サービスなどの MCP サーバーの場所であり、デプロイは MCP サービスのランタイム URL です。

環境とデプロイの作成の詳細については、「 チュートリアル: API の環境とデプロイを追加する」を参照してください。

リモート MCP サーバーの定義

必要に応じて、リモート MCP サーバーの API 定義を OpenAPI 3.0 形式で追加します。 API 定義には、MCP サーバーの URL エンドポイントを含める必要があります。 OpenAPI 定義を追加する例については、「 チュートリアル: API インベントリに API を登録する」を参照してください

MCP サーバーの url エンドポイントを含む、MCP サーバーには次の軽量 OpenAPI 3.0 API 定義を使用できます。

{
  "openapi": "3.0.0",
  "info": {
    "title": "Demo MCP server",
    "description": "Very basic MCP server that exposes mock tools and prompts.",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://my-mcp-server.contoso.com"
    }
  ]
}

API Center ポータルを使用して MCP サーバーを検出する

API インベントリ内の MCP サーバーを開発者や組織内の他の利害関係者が検出できるように、API センター ポータル を設定します。 ユーザーは、インベントリ内の MCP サーバーを参照してフィルター処理し、MCP サーバーの API 定義で使用可能な場合は、MCP サーバーの URL エンドポイントなどの詳細を表示できます。

API センター ポータルの MCP サーバーのスクリーンショット。

MCP サーバーの URL エンドポイントは、MCP デプロイと MCP サーバーの API 定義を追加した場合にのみ、API センター ポータルに表示されます。