外部MCPサーバーを登録する
ベータ版
この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。
このページでは、セルフホスト型またはサードパーティの MCP サーバーを Unity Catalog の MCP サービスとして登録し、AI Playground、コマンドライン、またはエージェントコードから呼び出す方法について説明します。サーバーを Unity Catalog のセキュリティ保護可能なオブジェクトとして登録すると、Unity AI Gateway がマネージド資格情報を使用してすべての呼び出しをプロキシできるため、エージェントがサーバーのトークンを処理することはありません。サービスが公開するツールを制限し、個々の呼び出しを管理するには、MCP サービスを管理するを参照してください。
ホストするサーバーなしで利用できるSaaSツールについては、代わりにDatabricksが提供するMCPサービスを使用してください。
要件
-
Unity Catalog が有効になっているワークスペース。
-
お客様のアカウントでUnity AI Gatewayベータ版と Managed MCP Servers プレビューが有効になっています。「Databricks プレビューの管理」を参照してください。
-
Model Serving がサポートされているリージョンのワークスペース。モデルサービング機能の利用可能性を参照してください。
外部MCPサーバーを登録する
独自の外部MCPサーバーをMCPサービスとして登録する5つのステップ:
- MCP サーバーへのUnity Catalog 接続を作成します。
- その接続からMCP サービスを作成します。
- 接続がユーザーごとのOAuthを使用する場合は、認証してください。
- チームメイトにアクセス権を付与します。
- サービスを呼び出し、その後、ツール選択とサービスポリシーを使用してそれを管理します。
外部のMCPサーバーは、ストリーミング可能なHTTPトランスポートメカニズムを使用する必要があります。これらの権限が必要です:
- **接続を作成する**には、接続を作成するスキーマで
CREATE CONNECTIONを実行します。 - MCPサービスを 作成 するには、親カタログとスキーマに対して
USE CATALOGとUSE 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つを選択してください:
- Create an HTTP connection
- Install from Marketplace
自己ホスト型またはサードパーティのサーバーを含む、任意のMCPサーバーについて:
- カタログ > 接続 > 接続の作成 に移動します。
- 接続タイプとして HTTP を選択してください。
- MCPサーバーURLを入力します。
- 認証タイプを選択してください:ベアラートークン、OAuth M2M、OAuth U2M、または動的クライアント登録。セットアップの詳細については、外部サービスへの接続を作成する を参照してください。
Glean、GitHub、Atlassian、SlackなどのマネージドOAuthプロバイダーの場合、Databricksが認証情報を管理するため、独自のOAuthアプリを登録する必要はありません。マネージドOAuthプロバイダーを参照してください。
Databricks Marketplace のキュレーションされた MCP サーバーを、事前構成済みの接続と併せてご利用ください。「外部MCPサーバーへのアクセス」を参照してください。
ステップ 2: MCP サービスを作成する
MCPサービスは、UIまたはREST APIを使用して作成できます。ベータ版は、MCPサービスでSQL DDLをサポートしていません。
- UI
- REST API
- Databricksワークスペースで、**AI Gateway** > **MCP** > **MCPサーバーを登録する**に移動するか、**カタログ**に移動してスキーマを選択し、**作成** > **MCPサービス**をクリックします。
- カタログ、スキーマ、および MCP サービスの名前を入力してください。名前は作成後に変更することはできません。
- 既存のMCPサーバーへのHTTP接続を選択するか、**新しい接続を作成**をクリックして作成します。スキーマの下を参照してスキーマレベルの接続を選択します。メタストアレベルの接続を使用するには、**スキーマの下を参照** をオフにしてください。
- ツール の下で、利用可能にするツールを選択してください。公開されるツールを選択するを参照してください。
- オプションで、MCPサービスを説明するコメントを追加します。
- 作成 をクリックします。MCPサービスは、指定したカタログとスキーマに公開されます。
既存のUnity Catalog HTTP接続を参照するMCPサービスを作成します。parentをターゲットスキーマに、mcp_service_idをサービス名に設定します:
databricks api post \
"/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&mcp_service_id=my_mcp" \
--json '{
"comment": "External MCP server",
"config": {
"connection": {
"name": "connections/main.default.my_connection"
},
"include_tool_selectors": []
}
}'
include_tool_selectors サービスが公開するツールを制御します。空のリストはすべてのツールを公開します。公開されるツールの選択を参照してください。
既存のMCPサービスを、PATCHリクエストおよび変更対象フィールドを指定するupdate_maskで更新します:
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=comment" \
--json '{ "comment": "Updated description" }'
ステップ3. 認証
MCPサービスがユーザーごとのOAuthを使用する接続を参照する場合、最初の呼び出しの前に一度ログインを完了してください:
- Catalog Explorer で MCP サービスの詳細ページを開きます。
- 「 Login 」をクリックして、プロバイダーのOAuth同意フローを完了します。
- サインインすると、詳細ページに検出されたツールの一覧が自動的に表示されます。
Unity Catalogは、お客様のIDに対してトークンを保存します。ログインする前にMCPサービスを呼び出すと、AI Gatewayは認証を促すエラーを返します。
ステップ 4. チームメイトへのアクセスを付与します。
デフォルトでは、MCPサービスオーナーのみがそれを呼び出すことができます。他のユーザー、グループ、またはサービスプリンシパルがそのサービスを呼び出せるように、EXECUTEを付与します。単一のEXECUTE付与により、そのサービスのすべてのツールがカバーされます。
- UI
- REST API
- Catalog Explorer で MCP サービスを開くか、または [AI Gateway] > [MCP] に移動してサービスを選択します。
- 権限 タブに移動します。
- 付与 をクリックします。
- アクセスを付与するユーザー、グループ、またはサービスプリンシパルを選択してください。
- EXECUTE 特権を選択してください。
- 付与 をクリックします。
databricks api patch \
"/api/2.1/unity-catalog/permissions/mcp_service/main.default.my_mcp" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["EXECUTE"] }
]
}'
ステップ5:MCPサービスを呼び出します。
AI Playgroundで、コマンドラインから、またはエージェントやクライアントコードからMCPサービスを試します。
MCPサービスをテストする
- AI Playground
- CURL
コードを記述せずにMCPサービスのツールをUIでテストする:
- DatabricksワークスペースのAI Playgroundに移動します。
- ツールが有効化された ラベルが付いたモデルを選択します。
- Tools > + Add tool をクリックし、 MCP Servers を選択します。
- **外部MCPサーバー**を選択し、MCPサービスを選択してください。
- モデルとチャットして、MCPサービスのツールがどのように呼び出されるかを確認します。
Genie Codeからもテストできます。詳細については、アシスタントにMCPサーバーを追加するを参照してください。
素早いコマンドラインチェックには、MCPサービス詳細ページで生成されたリクエストを使用してください。**はじめに**で、**アクセストークンを生成**をクリックして、リクエスト例にアクセストークンをコピーします。この例では、トークンをAuthorizationヘッダーでベアラートークンとして渡します。
Databricks CLI をワークスペースに対して認証することもできます。その後、databricks auth tokenを使用してOAuthアクセストークンを取得します。
databricks auth login --host https://<workspace-url>
すべてのリクエストは同じMCPサービスエンドポイントに送信され、リクエストボディ内のJSON-RPC methodが操作を選択します。サービスが公開するツールを一覧表示します:
TOKEN=$(databricks auth token | jq -r .access_token)
curl -s -X POST \
"https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
ツールを呼び出す:
curl -s -X POST \
"https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"<tool_name>","arguments":{'
エージェントコードまたはコーディングエージェントから使用
- エージェントコード (OpenAI Agents SDK、LangGraph、または Model Serving):エージェントでのMCPサーバーの使用を参照してください。
- AIアシスタントとコーディングエージェント (Claude、Claude Code、Cursor)については、MCPをAIアシスタントとコーディングエージェントに接続するを参照してください。
次のステップ
- MCPサービスを統制し、サービスが公開するツールを制限し、サービスポリシーを適用します。
- MCPサービスとDatabricksが提供するサービスの概要については、MCPサービスを使用してエージェントをサードパーティツールに接続するをご覧ください。
- 一元的な場所からMCPサーバーとLLMエンドポイントを管理するUnity AI GatewayによるAIガバナンス。