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

外部 MCP サーバーを使用する

備考

プレビュー

この機能は パブリック プレビュー段階です。

外部ツールやサービスにアクセスするには、Databricks が管理するプロキシを介してエージェントをサードパーティのモデル コンテキスト プロトコル (MCP) サーバーに接続します。

Databricks は、外部 MCP サーバーに対して共有プリンシパル認証とユーザーごとの認証の両方をサポートしています。サポートされている認証方法を参照してください。

必要条件

外部MCPサーバーをインストールする

エージェントで使用する外部 MCP サーバーをインストールするには、4 つのオプションがあります。MCP プロバイダーがサポートされている場合は、資格情報の管理が不要なため、Managed OAuth から始めてください。そうでない場合は、Databricks Marketplace で事前に構築された統合を確認してください。その他のサーバーの場合は、カスタム HTTP 接続を使用します。すべての方法では、安全で認証されたアクセスのためにUnity Catalog接続が作成されます。

MCP サーバーに応じてインストール方法を選択します。

Databricks 、選択したサービスに対してマネージドOAuthフローを提供するため、独自のOAuthアプリを登録したり、資格情報を管理したりする必要がなくなります。 Databricks では、開発とテストにはマネージド OAuth を推奨しています。本番運用のユースケースでカスタムOAuth認証情報の生成が必要な場合、詳細についてはプロバイダーのドキュメントを参照してください。

次の統合では、バックエンドに安全に保存されている Databricks 管理の OAuth 資格情報を使用します。

プロバイダー

設定に関する注意事項

サポートされているスコープ

説明

Glean MCP

ホストが必要です。ベースパスは構成可能です (デフォルトは/mcp/default )。

mcp

Glean のエンタープライズ検索、チャット、ドキュメント、エージェント ツールにアクセスします。

GitHub MCP

なし

repo read:project read:org

GitHub リポジトリ、組織、プロジェクト データにアクセスします。

GoogleドライブAPI

なし

https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access

Google ドライブ ファイルへの読み取り専用アクセス。

シェアポイントAPI

なし

https://graph.microsoft.com/Sites.Read.All offline_access openid profile

SharePoint サイトへの読み取り専用アクセス。

マネージド OAuth を設定するには:

  1. Databricks ワークスペースで、 [カタログ] > [接続] > [接続の作成] に移動します。
  2. 接続タイプとして HTTP を選択します。
  3. 認証タイプとして 「OAuth ユーザー対マシン (ユーザーごと)」 を選択します。
  4. OAuth プロバイダー ドロップダウンからプロバイダーを選択します。
  5. 必要に応じてプロバイダー設定を構成します (上記の表の構成に関する注意事項を参照)。
  6. OAuth スコープ フィールドには、必要なスコープをスペース区切りの文字列として入力します (例: MCP SEARCH )。選択したプロバイダーについては、上記の表でサポートされているスコープを参照してください。このフィールドを空のままにすると、 Databricksスコープの完全なセットを要求します。
  7. 接続の作成 をクリックします。

各ユーザーは、初めて使用するときにプロバイダーに承認を求めるメッセージが表示されます。

MCP サーバーを表示する

いずれかのインストール方法を完了した後:

  • Unity Catalog接続はMCPサーバーの詳細を使用して作成されます

  • Databricksは、認証とトークン管理を安全に処理するマネージドプロキシエンドポイントをプロビジョニングします。

  • MCPサーバーはAI Playgroundで利用可能であり、エージェントでプログラム的に使用できます。

  • Unity Catalog権限を通じて他のユーザーに接続へのアクセスを許可することができます

  • プロキシエンドポイント URL は次の形式に従います。

    https://<workspace-hostname>/api/2.0/mcp/external/{connection_name}

MCPサーバーを表示するには、ワークスペース > エージェント > MCPサーバー に移動します。

エージェントMCPサーバータブ

MCPサーバー接続を共有する

MCP サーバー接続を使用する必要がある ID プリンシパルにUSE CONNECTION権限を付与します。

  1. ワークスペースで、 「カタログ」 > 「接続」 > 「接続」 > 「権限」 に移動します。
  2. ID にUnity Catalog接続への適切なアクセス権を付与します。

Databricks内でMCPサーバーをテストする

コードを記述せずに、Databricks 内で直接 MCP サーバーをテストできます。

Genie Codeの使用: MCP サーバーをGenie Codeに追加するのステップに従ってください

AI Playground の使用:

  1. Databricks ワークスペースの AI Playground に移動します。

  2. ツールが有効になっている ラベルが付いたモデルを選択します。

  3. [ツール] > [+ ツールの追加] をクリックし、利用可能なツール オプションから [MCP サーバー] を選択します。

  4. MCP サーバー セクションで、 外部 MCP サーバーを 選択して、利用可能な接続を参照します。

  5. 以前にインストールしたUnity Catalog接続 (例: github_connection ) を選択します。

  6. LLM とチャットして、MCP サーバー ツールとどのように対話するかをテストします。AI Playground は、MCP サーバーから利用可能なツールを自動的に検出し、LLM で利用できるようにします。

これにより、完全なエージェントを構築したり、本番運用に展開したりする前に、MCP サーバー統合のプロトタイプを迅速に作成してテストすることができます。

MCP サーバーをプログラムで使用する

MCP サーバーをインストールしたら、プロキシ URL に接続してエージェント コード内でプログラム的に使用します。Databricks プロキシは、外部サーバーを管理対象 MCP サーバーのように動作させ、認証とトークン管理を処理します。

推奨される方法では、プロキシ エンドポイントをMANAGED_MCP_SERVER_URLSリストに追加して、外部 MCP サーバーを Databricks 管理対象サーバーとして扱います。

Python
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient

# Initialize workspace client
workspace_client = WorkspaceClient()
host = workspace_client.config.host

# External MCP servers are proxied as managed servers, allowing you
# to use the same API for both managed and external servers
MANAGED_MCP_SERVER_URLS = [
f"{host}/api/2.0/mcp/functions/system/ai", # Default managed MCP
f"{host}/api/2.0/mcp/external/github_connection" # External MCP proxy
]

エージェントで MCP サーバーを使用するには、プロキシ URL をmanaged_server_urlsに渡します。

Python
# Use with agents - external servers work just like managed ones
import asyncio
from your_agent_code import create_mcp_tools # Your agent's tool creation function

# Create tools from both managed and external (proxied) servers
mcp_tools = asyncio.run(
create_mcp_tools(
ws=workspace_client,
managed_server_urls=MANAGED_MCP_SERVER_URLS
)
)

Databricks MCP クライアントを使用してツールを直接呼び出すこともできます。

Python
# Direct tool call using DatabricksMCPClient
mcp_client = DatabricksMCPClient(
server_url=f"{host}/api/2.0/mcp/external/github_connection",
workspace_client=workspace_client
)

# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {[tool.name for tool in tools]}")

# Call a tool
response = mcp_client.call_tool(
"list_commits",
{"owner": "mlflow", "repo": "mlflow", "sha": "master"}
)
print(response.content[0].text)

サンプルノートブック: Databricks MCP サーバーを使用してエージェントを構築する

次のノートブックは、Databricks プロキシ エンドポイントを介してアクセスされる外部 MCP サーバーを含む、MCP ツールを呼び出す LangGraph および OpenAI エージェントを作成する方法を示しています。

LangGraph MCP ツール呼び出しエージェント

ノートブックを新しいタブで開く

OpenAI MCP ツール呼び出しエージェント

ノートブックを新しいタブで開く

認証とセキュリティ

Databricks は、管理された MCP プロキシと Unity Catalog HTTP 接続を使用して、外部 MCP サーバーへの認証を安全に処理します。次の認証方法がサポートされています。

サポートされている認証方法

Databricks は、外部 MCP サーバーに対して次の種類の認証をサポートしています。

  • 共有プリンシパル認証 : すべてのユーザーは、外部サービスにアクセスするときに同じ資格情報を共有します。これには、ベアラー トークン、OAuth マシン間 (M2M)、および OAuth ユーザー間共有認証が含まれます。外部サービスがユーザー固有のアクセスを必要としない場合、または単一のサービス アカウントで十分な場合にこれを使用します。

  • ユーザーごとの認証 (OAuth U2M Per User) : 各ユーザーは独自の資格情報を使用して認証します。外部サービスは個々のユーザーに代わってリクエストを受信し、ユーザー固有のアクセス制御、監査、およびアカウンタビリティを実現します。ユーザーの GitHub リポジトリ、Slack メッセージ、カレンダーなどのユーザー固有のリソースにアクセスするときに使用します。

各認証方法の詳細な構成手順については、 「HTTP 接続」を参照してください。

セキュリティ上の利点

  • セキュリティで保護されたトークン管理 : Databricks は、すべての OAuth フローとトークンの更新を自動的に処理します
  • 資格情報は公開されません : トークンがエンドユーザーに公開されることはありません
  • 認証の集中管理 : Unity Catalog接続を使用した一貫した認証パターン

制限

  • Private Link を使用した VPC 内のリソースへのプライベート接続はサポートされていません。この機能が必要な場合は、サポート チームにお問い合わせください。

  • Databricks は、ストリーミング可能な HTTP トランスポート メカニズムを使用する外部 MCP サーバーのみをサポートします。

次のステップ