メインコンテンツまでスキップ

外部MCPサーバーを登録する

備考

ベータ版

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

このページでは、セルフホスト型またはサードパーティの MCP サーバーを Unity Catalog の MCP サービスとして登録し、AI Playground、コマンドライン、またはエージェントコードから呼び出す方法について説明します。サーバーを Unity Catalog のセキュリティ保護可能なオブジェクトとして登録すると、Unity AI Gateway がマネージド資格情報を使用してすべての呼び出しをプロキシできるため、エージェントがサーバーのトークンを処理することはありません。サービスが公開するツールを制限し、個々の呼び出しを管理するには、MCP サービスを管理するを参照してください。

ホストするサーバーなしで利用できるSaaSツールについては、代わりにDatabricksが提供するMCPサービスを使用してください。

要件

外部MCPサーバーを登録する

独自の外部MCPサーバーをMCPサービスとして登録する5つのステップ:

  1. MCP サーバーへのUnity Catalog 接続を作成します。
  2. その接続からMCP サービスを作成します
  3. 接続がユーザーごとのOAuthを使用する場合は、認証してください。
  4. チームメイトにアクセス権を付与します。
  5. サービスを呼び出し、その後、ツール選択とサービスポリシーを使用してそれを管理します

外部のMCPサーバーは、ストリーミング可能なHTTPトランスポートメカニズムを使用する必要があります。これらの権限が必要です:

  • **接続を作成する**には、接続を作成するスキーマで CREATE CONNECTIONを実行します。
  • MCPサービスを 作成 するには、親カタログとスキーマに対してUSE CATALOGUSE SCHEMA、スキーマに対してCREATE SERVICE、およびMCPサービスが参照する接続に対してUSE CONNECTIONが必要です。
  • MCPサービスを 呼び出す には、MCPサービスに対するEXECUTE、その親カタログとスキーマに対するUSE CATALOGおよびUSE SCHEMA、そして、リクエストを発行するワークスペースへの割り当てが必要です。
警告

EXECUTEMCPサービスを呼び出すには、基盤となる接続に対する**権限は不要**であり、MCPサービスに対する で十分です。エンドユーザーにUSE CONNECTIONを付与しないでください。そうすると、接続を介して外部サーバーを直接呼び出すか、独自のMCPサービスをそこに登録することが可能になり、MCPサービスのツール選択、サービスポリシー、および監査が回避されます。接続アクセスは、サービス作成者および管理者に限定してください。

ステップ 1: 接続を作成する

MCPサービスは、外部サーバーのエンドポイントと資格情報を安全に保存するUnity Catalog HTTP接続を参照します。Databricks は、認証とトークンの更新を処理するためにその前にマネージドプロキシを動かしているので、エージェントまたはクライアントコードに資格情報を埋め込む必要はありません。

MCPサービスと並行して管理されるように、「**スキーマ**」レベルで接続を作成します。以下のステップで事前にセットアップすることも、またはMCPサービスを作成する 際に「**新しい接続を作成**」をクリックして作成することもできます。メタストアレベルの接続はサポートされていますが、推奨されません。

2つの方法から1つを選択してください:

自己ホスト型またはサードパーティのサーバーを含む、任意のMCPサーバーについて:

  1. カタログ > 接続 > 接続の作成 に移動します。
  2. 接続タイプとして HTTP を選択してください。
  3. MCPサーバーURLを入力します。
  4. 認証タイプを選択してください:ベアラートークン、OAuth M2M、OAuth U2M、または動的クライアント登録。セットアップの詳細については、外部サービスへの接続を作成する を参照してください。

Glean、GitHub、Atlassian、SlackなどのマネージドOAuthプロバイダーの場合、Databricksが認証情報を管理するため、独自のOAuthアプリを登録する必要はありません。マネージドOAuthプロバイダーを参照してください。

ステップ 2: MCP サービスを作成する

MCPサービスは、UIまたはREST APIを使用して作成できます。ベータ版は、MCPサービスでSQL DDLをサポートしていません。

  1. Databricksワークスペースで、**AI Gateway** > **MCP** > **MCPサーバーを登録する**に移動するか、**カタログ**に移動してスキーマを選択し、**作成** > **MCPサービス**をクリックします。
  2. カタログ、スキーマ、および MCP サービスの名前を入力してください。名前は作成後に変更することはできません。
  3. 既存のMCPサーバーへのHTTP接続を選択するか、**新しい接続を作成**をクリックして作成します。スキーマの下を参照してスキーマレベルの接続を選択します。メタストアレベルの接続を使用するには、**スキーマの下を参照** をオフにしてください。
  4. ツール の下で、利用可能にするツールを選択してください。公開されるツールを選択するを参照してください。
  5. オプションで、MCPサービスを説明するコメントを追加します。
  6. 作成 をクリックします。MCPサービスは、指定したカタログとスキーマに公開されます。

ステップ3. 認証

MCPサービスがユーザーごとのOAuthを使用する接続を参照する場合、最初の呼び出しの前に一度ログインを完了してください:

  1. Catalog Explorer で MCP サービスの詳細ページを開きます。
  2. Login 」をクリックして、プロバイダーのOAuth同意フローを完了します。
  3. サインインすると、詳細ページに検出されたツールの一覧が自動的に表示されます。

Unity Catalogは、お客様のIDに対してトークンを保存します。ログインする前にMCPサービスを呼び出すと、AI Gatewayは認証を促すエラーを返します。

ステップ 4. チームメイトへのアクセスを付与します。

デフォルトでは、MCPサービスオーナーのみがそれを呼び出すことができます。他のユーザー、グループ、またはサービスプリンシパルがそのサービスを呼び出せるように、EXECUTEを付与します。単一のEXECUTE付与により、そのサービスのすべてのツールがカバーされます。

  1. Catalog Explorer で MCP サービスを開くか、または [AI Gateway] > [MCP] に移動してサービスを選択します。
  2. 権限 タブに移動します。
  3. 付与 をクリックします。
  4. アクセスを付与するユーザー、グループ、またはサービスプリンシパルを選択してください。
  5. EXECUTE 特権を選択してください。
  6. 付与 をクリックします。

ステップ5:MCPサービスを呼び出します。

AI Playgroundで、コマンドラインから、またはエージェントやクライアントコードからMCPサービスを試します。

MCPサービスをテストする

コードを記述せずにMCPサービスのツールをUIでテストする:

  1. DatabricksワークスペースのAI Playgroundに移動します。
  2. ツールが有効化された ラベルが付いたモデルを選択します。
  3. Tools > + Add tool をクリックし、 MCP Servers を選択します。
  4. **外部MCPサーバー**を選択し、MCPサービスを選択してください。
  5. モデルとチャットして、MCPサービスのツールがどのように呼び出されるかを確認します。

Genie Codeからもテストできます。詳細については、アシスタントにMCPサーバーを追加するを参照してください。

エージェントコードまたはコーディングエージェントから使用

次のステップ