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

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

備考

ベータ版

この機能は ベータ版です。

Databricks を外部のモデル コンテキスト プロトコル (MCP) サーバーに接続して、エージェントが Databricks の外部でホストされているより幅広いツールにアクセスできるようにします。外部 MCP サーバーは、Databricks の外部でホストされ、Databricks が管理するプロキシを介して接続するサードパーティの MCP サーバーです。

認証とセキュリティ

Databricks は、マネージド MCP プロキシと Unity Catalog HTTP 接続を使用して、ワークスペースへの認証を安全に処理します。

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

必要条件

  • マネージド MCP サーバー のプレビューが有効になっているワークスペース。「Databricks プレビューの管理」を参照してください。
  • 外部の MCP サーバーに接続するには、Unity Catalog HTTP 接続を使用する必要があります。ワークスペースにアタッチされたUnity Catalogメタストアに対するCREATE CONNECTION権限が必要です。 詳細については、 Unity Catalog HTTP 接続を作成する」を参照してください。

Unity Catalog HTTP 接続を作成する

外部 MCP サーバーに接続するには、サーバーへの Unity Catalog HTTP 接続を作成する必要があります。

  1. HTTP 接続を作成します。HTTP接続を参照してください。
  2. HTTP 接続を作成するときに、MCP 機能を有効にするには、 「Is mcp connection」 チェックボックスをオンにします。
  3. 接続 URL が有効な MCP サーバーエンドポイントを指していることを確認します。

UC 接続が作成されると、Databricks は Databricks 管理 MCP サーバーとして機能するプロキシ エンドポイントを自動的にプロビジョニングします。このエンドポイントは、トラフィックを外部 MCP サーバーに安全にプロキシし、トークンの挿入と更新を管理します。

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

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

AI Playground と接続する

コードを書かずにAI Playgroundで外部 MCP サーバーを直接テストできます。

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

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

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

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

  5. 先ほど作成した Unity Catalog HTTP 接続 (例: github_u2m_connection ) を選択します。

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

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

外部MCPサーバーに接続する

プロキシ URL を使用して外部 MCP サーバーに接続します。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_u2m_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_u2m_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 ツール呼び出しエージェント

Open notebook in new tab

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

Open notebook in new tab

制限

次のステップ