MCP サービスを使用してエージェントをサード パーティ製ツールに接続する

Important

この機能は ベータ版です。 アカウント管理者は、アカウント コンソール の [プレビュー ] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

MCP サービスは、外部 MCP サーバーを登録し、エージェントがそれをどのように使用するかを管理する Unity Catalog のセキュリティ保護可能なオブジェクトです。 その3階層名 catalog.schema.mcp_service で指定し、AIトラフィックを管理するためのコントロールプレーンである Unity AI Gateway を介して呼び出します。

MCP サーバーを Unity カタログセキュリティ保護可能として登録することは、他の Unity カタログ資産を保護するのと同じプリミティブで管理することを意味します。 これには、呼び出すことができるユーザーを制御するための許可、公開するツールを制限するツールの選択、個々のツール呼び出しを許可または拒否する サービス ポリシー 、すべての呼び出しを追跡するための監査と使用状況のログ記録が含まれます。

MCP サービスを使用するには、次の 2 つの方法があります。

Approach 次の場合に使用します。
Databricks 提供の MCP サービスを使用する 一般的なサービスとしてのソフトウェア (SaaS) ツール (Slack、GitHub、Google Drive など) をセットアップゼロにする必要があります。 ホストするサーバーがなく、作成する接続もありません。
独自の外部 MCP サーバーを登録する セキュリティ保護可能な Unity カタログとして管理するセルフホステッドまたはサード パーティの MCP サーバーがあります。

MCP サービスは、エージェントを外部サービスに接続します。 Azure Databricksデータの場合は、マネージド MCP サーバーを使用します。独自のツールをホストするには、カスタム MCP サーバーを使用します。

外部 MCP サーバーを登録して呼び出すには、 外部 MCP サーバーの登録を参照してください。 そのツールと呼び出しを制限するには、「 MCP サービスの管理」を参照してください。

Tip

完全な作業例 (GitHub MCP サーバーの登録、そのツールの制限、サービス ポリシーによる破壊的な呼び出しのブロック、使用状況の監査) については、「チュートリアル: コーディング エージェントの GitHub MCP アクセスを管理する」に従います。

どのように機能するのか

エージェントは Unity AI ゲートウェイ URL によって MCP サービスを呼び出し、すべての呼び出しは同じ管理されたパスを通過します。

MCP サービス URL を使用して構成されたエージェントは、Unity AI Gateway を介してサービスを呼び出します。ゲートウェイは Unity カタログの MCP サービスに対する呼び出しを承認します。これにより、EXECUTE 許可、ツールの選択、サービス ポリシーが適用され、GitHubや Slack などの外部 MCP サーバーへのマネージド資格情報を使用して Unity カタログ HTTP 接続を介して要求がプロキシされます。使用状況、監査、およびトレース レコードは、システム テーブルに格納されます。

  1. 呼び出し: エージェントは、呼び出し元のAzure Databricks ID で認証された MCP 要求をサービスの Unity AI ゲートウェイ URL に送信します。
  2. 承認と管理: ゲートウェイは、呼び出し元が Unity カタログの MCP サービスに EXECUTE していることを確認します。 このサービスは 、選択した ツールのみを公開し、接続されている サービス ポリシーを評価します。これにより、呼び出しの許可、拒否、または承認が必要になります。
  3. マネージド資格情報を持つプロキシ: 要求は、サービスの HTTP 接続を介して外部 MCP サーバーに転送されます。 Azure Databricksは資格情報を格納し、OAuth フローとトークン更新を処理するため、エージェントは資格情報を表示しません。
  4. ログの使用状況、監査、トレース: すべての呼び出しはシステム テーブルに記録されるため、 使用状況 と監査アクティビティを時間の経過と同時に監視できます。

Requirements

  • Unity カタログで有効になっているワークスペース。
  • 外部 MCP サーバーを MCP サービスとして管理するには、Unity AI Gateway Beta と Managed MCP Servers プレビューがアカウントに対して有効になっています。 Manage Azure Databricks プレビューを参照してください。

Databricks が提供する MCP サービス

Azure Databricksは、一般的な SaaS アプリケーションのsystem.ai スキーマですぐに使用できる MCP サービスを提供するため、エージェントは独自の MCP サーバーをホストしたり登録したりすることなく、これらのツールにアクセスできます。 それぞれは、Unity カタログ名でアドレス指定する組み込みの MCP サービスです。 エージェントにアクセス権を付与するには、サービスの EXECUTE ( system.ai.githubなど) を付与します。接続のセットアップは必要ありません。 組み込みサービスには、プラットフォームで管理されるツールと、書き込み操作をブロックするツールなどの組み込みの サービス ポリシーが付属しています。 カスタム ツールの選択やポリシー機能ではなく、許可を使用して管理します。

MCP サービス 接続先
system.ai.slack Slack
system.ai.github GitHub
system.ai.atlassian Jira と Confluence
system.ai.google_drive Google ドライブ
system.ai.google_calendar Google カレンダー
system.ai.gmail Gmail
system.ai.sharepoint Microsoft SharePoint

Google ドライブ、Gmail、Google カレンダー、またはSharePointの場合、これらの組み込みサービスは OAuth を処理するため、アプリの登録は不要です。

認証とセキュリティ

Azure Databricksでは、マネージド MCP プロキシと Unity カタログ HTTP 接続を使用して、外部 MCP サーバーへの認証を安全に処理します。

  • 共有プリンシパル認証: すべてのユーザーが、外部サービスにアクセスするときに同じ資格情報を共有します。 これには、ベアラー トークン、OAuth マシン間 (M2M)、OAuth ユーザーからマシンへの共有認証が含まれます。 これは、外部サービスがユーザー固有のアクセスを必要としない場合、または 1 つのサービス アカウントで十分な場合に使用します。
  • ユーザーごとの認証 (ユーザーごとの OAuth U2M):各ユーザーは、独自の資格情報を使用して認証します。 外部サービスは、個々のユーザーに代わって要求を受け取り、ユーザー固有のアクセス制御、監査、アカウンタビリティを有効にします。 ユーザーのGitHub リポジトリ、Slack メッセージ、予定表など、ユーザー固有のリソースにアクセスする場合に使用します。

Azure Databricksは OAuth フローとトークン更新を処理するため、エンド ユーザーにはトークンが表示されません。 Unity AI Gateway から LLM エンドポイントと共に外部 MCP 接続を表示および管理します。 各認証方法の詳細な構成手順については、 HTTP 接続を参照してください。

Limitations

ベータ期間中、MCP サービスには次の制限が適用されます。

  • MCP サービスの SQL DDL ( CREATE MCP SERVICEなど) は使用できません。 UI または REST API を使用して MCP サービスを作成および管理します。
  • 外部 MCP サーバーのみを独自の MCP サービスとして登録できます。 Genie、Apps、または Unity Catalog エンティティ ソースを MCP サービスとして登録することは現在サポートされていません。 Azure Databricksには、一般的な SaaS アプリ用の組み込みの MCP サービスも用意されています。
  • ツールの選択では、プレフィックス (get_*) と完全一致パターンがサポートされます。 除外パターン ( !delete_*など) はサポートされていません。
  • Unity カタロググローバル検索では、MCP サービスは表示されません。

外部 MCP サーバー接続にも、次の制限があります。

  • 外部 MCP サーバーは、AI Playground、Genie Code、Genie のチャットでの使用など、モデル サービスがサポートされているリージョンでのみ使用できます。 モデル提供機能の可用性を参照してください。

次のステップ