エージェントをMCPサービスでサードパーティ製ツールに接続する
ベータ版
この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。
MCP サービスは、外部 MCP サーバーを登録する Unity Catalog のセキュリティ保護可能なオブジェクトであり、エージェントによる使用方法を管理します。3 階層名 catalog.schema.mcp_service で指定し、AI トラフィックを管理するコントロールプレーンである Unity AI Gateway を通じて呼び出します。
MCPサーバーをUnity Catalogのセキュリティ保護可能なオブジェクトとして登録すると、他のUnity Catalogアセットを保護するのと同じ基本的な機能で管理できるようになります。これらには、呼び出し元を制御する権限、公開するツールを制限するツール選択、個々のツール呼び出しを許可または拒否するサービスポリシー、およびすべての呼び出しを追跡するための監査と使用状況のログ記録が含まれます。
MCP サービスを使用するには、2つの方法があります:
アプローチ | 使用する場合 |
|---|---|
ゼロセットアップで、Slack、GitHub、Google Driveなどの一般的なSaaS(サービスとしてのソフトウェア)ツールをご利用いただけます。ホストするサーバーはなく、作成する接続もありません。 | |
Unity Catalogのセキュリティ保護可能オブジェクトとして管理するセルフホスト型またはサードパーティ製MCPサーバーがあります。 |
MCPサービスは、エージェントを外部サービスに接続します。DatabricksのデータについてはマネージドMCPサーバーを使用し、独自のツールをホストするにはカスタムMCPサーバーを使用してください。
外部MCPサーバーを登録して呼び出すには、外部MCPサーバーを登録するを参照してください。ツールと呼び出しを制限するには、MCPサービスを管理するを参照してください。
エンドツーエンドで確認してください。
完全な例については、GitHub MCP サーバーを登録し、そのツールを制限し、サービス ポリシーで破壊的な呼び出しをブロックし、使用状況を監査する、チュートリアル: コーディング エージェントの GitHub MCP アクセスを管理するに従ってください。
仕組み
エージェントはUnity AI GatewayのURLでMCPサービスを呼び出し、すべての呼び出しは同じ管理されたパスを流れます。
- 呼び出し :エージェントは、サービスのUnity AI Gateway URLにMCPリクエストを送信し、呼び出し元のDatabricks IDで認証されます。
- 承認とガバナンス : ゲートウェイは、呼び出し元が Unity Catalog の MCP サービスに対して
EXECUTEを持っていることを確認します。サービスは、お客様が選択したツールのみを公開し、アタッチされているサービスポリシーを評価します。このポリシーにより、呼び出しを許可、拒否、または承認を要求できます。 - 管理された認証情報によるプロキシ :リクエストは、サービスのHTTP接続を介して外部MCPサーバーに転送されます。Databricksは認証情報を保存し、OAuthフローとトークン更新を処理するため、エージェントがそれらを見ることはありません。
- 使用量、監査、およびトレースのログ記録 :すべての呼び出しはシステムテーブルに記録されるため、使用状況を監視し、時間の経過とともにアクティビティを監査できます。
要件
-
Unity Catalog が有効になっているワークスペース。
-
外部 MCP サーバーを MCP サービスとして管理するには、アカウントで Unity AI Gateway ベータ版および マネージドMCPサーバー プレビューが有効になっている必要があります。「Databricks プレビューの管理」を参照してください。
-
Model Serving がサポートされているリージョンのワークスペース。モデルサービング機能の利用可能性を参照してください。
Databricksが提供するMCPサービス
Databricksは、一般的なSaaSアプリケーション向けにsystem.aiスキーマですぐに使えるMCPサービスを提供しているため、エージェントは独自のMCPサーバーをホスティングまたは登録することなく、これらのツールにアクセスできます。それぞれが、Unity Catalog名でアドレス指定する組み込みのMCPサービスです。エージェントにアクセスを付与するには、サービスに対してEXECUTEを付与します(たとえば、system.ai.github)—接続設定は不要です。組み込みサービスには、プラットフォーム管理ツールと、書き込み操作をブロックするためのものなどの組み込みサービスポリシーが付属しています。それらは、カスタムツールの選択やポリシー関数ではなく、権限付与によって管理されます。
MCPサービス | 接続先 |
|---|---|
| Slack |
| GitHub |
| Jira と Confluence |
| Google Drive |
| Google カレンダー |
| Gmail |
| Microsoft SharePoint |
Googleドライブ、Gmail、Googleカレンダー、SharePointの場合、これらの組み込みサービスがOAuthを処理するため、アプリの登録は不要です。
認証とセキュリティ
Databricks は、マネージド MCP プロキシと Unity Catalog HTTP 接続を使用して、外部 MCP サーバーへの認証を安全に処理します。
- 共有プリンシパル認証 : 外部サービスにアクセスする際、すべてのユーザーが同じ資格情報を共有します。これには、ベアラートークン、OAuthマシン間 (M2M)、およびOAuthユーザーマシン間共有認証が含まれます。これは、外部サービスがユーザー固有のアクセスを必要としない場合、または単一のサービスアカウントで十分な場合に使用します。
- ユーザーごとの認証 (OAuth U2M Per User) : 各ユーザーは独自の認証情報で認証します。外部サービスは個々のユーザーの代理でリクエストを受信し、ユーザー固有のアクセス制御、監査、および説明責任を可能にします。これは、ユーザーのGitHub リポジトリ、Slack メッセージ、カレンダーなど、ユーザー固有のリソースにアクセスする場合に使用します。
DatabricksがOAuthフローとトークン更新を処理するため、エンドユーザーはトークンを見る必要がありません。Unity AI Gatewayから、外部MCP接続とLLMエンドポイントを並行して表示および管理できます。各認証方法の詳細な構成手順については、HTTP接続を参照してください。
制限事項
ベータ版では、MCPサービスには以下の制限が適用されます:
- MCP サービス用の SQL DDL (例:
CREATE MCP SERVICE) は利用できません。UI または REST API を使用して MCP サービスを作成および管理します。 - 外部MCPサーバーのみを独自のMCPサービスとして登録できます。Genie、Apps、またはUnity CatalogエンティティソースをMCPサービスとして登録することは現在サポートされていません。Databricksは、一般的なSaaSアプリ向けに組み込みMCPサービスも提供しています。
- ツール選択では、プレフィックス (
get_*) と完全一致パターンをサポートしています。除外パターン(例:!delete_*)はサポートされていません。 - Unity Catalog のグローバル検索では、MCP サービスが表示されません。
外部MCPサーバー接続には、以下の制限事項もあります:
- 外部MCPサーバーは、Model Servingがサポートされているリージョンでのみ利用でき、AI Playground、Genie Code、およびGenieのチャットでの使用が含まれます。モデルサービング機能の利用可能性を参照してください。
- Private Service Connect を使用した、仮想プライベートクラウド(VPC)内のリソースへのプライベート接続はサポートされていません。この機能が必要な場合は、サポートチームにご連絡ください。
次のステップ
- 外部MCPサーバーを登録し、呼び出すには、外部MCPサーバーを登録します。
- MCPサービスを管理して、ツールを制限し、サービスポリシーを適用します。
- エージェントコードからMCPサービスをプログラムで呼び出すには、エージェントでMCPサーバーを使用してください。
- MCP を AI アシスタントとコーディング エージェントに接続することで、コーディング エージェントと AI アシスタントを接続します。
- 一元的な場所からMCPサーバーとLLMエンドポイントを管理するUnity AI GatewayによるAIガバナンス。