こちらのアップデートです。
Databricks Marketplaceで利用可能なMCPサーバーを一覧表示します
Databricks Marketplaceは、Model Context Protocol (MCP) サーバーのリストをサポートするようになりました。プロバイダーはMCPサーバーをリストして、AIツールを配布することができます。また、他のDatabricksユーザーはMarketplaceからMCPサーバーをインストールして、AIエージェントを外部データソース、SaaSツール、開発者APIに接続することができます。
公式ブログでも取り上げられています。
マーケットプレースでも製品カテゴリにMCPサーバーが追加されています。
このあと実際に試しますが、その前に背後で使われている外部MCPサーバーについて調べます。(マネージドMCPサーバーしか知りませんでした)
Databricksの外部MCPサーバーのサポート
Databricksに外部MCPサーバー連携機能(ベータ版)が追加され、Databricks外部でホストされているサードパーティのAIツールをエージェントから利用できるようになりました。Unity Catalog HTTP接続とマネージドプロキシを介した安全な認証により、GitHubなどの外部サービスのツールを、DatabricksのAI PlaygroundやLangGraph/OpenAIエージェントから呼び出せます。以下では、外部MCPサーバーの仕組み、メリット、実装方法、注意点について解説します。
機能概要
外部MCPサーバー連携機能は、Databricks外部にホストされているModel Context Protocol(MCP)サーバーをDatabricksエージェントから利用できる機能です。MCPは、AIアプリケーションとツール・データソース間の標準化された通信プロトコルです。
基本的な仕組み
┌─────────────────────┐
│ Databricks │
│ │
│ ┌──────────────┐ │ ┌──────────────────┐
│ │ AI Playground│ │ │ 外部MCPサーバー │
│ │ または │◄──┼──────┤ (GitHub等) │
│ │ エージェント │ │ │ │
│ └──────────────┘ │ └──────────────────┘
│ ▲ │ ▲
│ │ │ │
│ ┌──────┴────────┐ │ │
│ │ マネージド │ │ │
│ │ MCPプロキシ ├──┼───────────────┘
│ └───────────────┘ │
│ ▲ │
│ │ │
│ ┌──────┴────────┐ │
│ │ Unity Catalog │ │
│ │ HTTP接続 │ │
│ └───────────────┘ │
└─────────────────────┘
この機能の主要な構成要素は以下の通りです。
| 構成要素 | 役割 |
|---|---|
| Unity Catalog HTTP接続 | 外部MCPサーバーへの接続情報と認証設定を管理 |
| マネージドMCPプロキシ | Databricksが自動プロビジョニングする中継サーバー。トークン管理と通信の橋渡しを担当 |
| 外部MCPサーバー | Databricks外部でホストされるサードパーティのMCPサーバー(GitHub、Slack等) |
認証とセキュリティの仕組み
外部MCPサーバー連携では、セキュリティが重要な考慮事項です。Databricksは以下のメカニズムで安全性を確保しています。
セキュリティで保護されたトークン管理
- すべてのOAuthフローとトークンの更新をDatabricksが自動処理
- 認証トークンがエンドユーザーに公開されることはない
- Unity Catalog接続による一貫した認証パターン
ユーザー要求
↓
Databricksプロキシ
↓
トークン自動挿入・更新
↓
外部MCPサーバー
メリット、嬉しさ
外部MCPサーバー連携機能には、以下のようなメリットがあります。
1. ツールの選択肢が大幅に拡大
Databricks管理対象のMCPサーバーに加えて、サードパーティのMCPサーバーも利用可能になります。例えば、以下のような用途に活用できます。
- GitHubのコミット履歴やイシューを取得
- Slackチャンネルへのメッセージ送信
- 外部APIとの統合
2. 安全な認証管理
認証情報を直接管理する必要がなく、Databricksが安全にトークンを処理します。
従来の方式との比較
| 項目 | 従来の直接接続 | 外部MCPサーバー連携 |
|---|---|---|
| 認証情報の管理 | 開発者が直接管理 | Databricksが自動管理 |
| トークンの更新 | 手動実装が必要 | 自動で更新 |
| セキュリティリスク | トークンがコードに埋め込まれる可能性 | トークンがエンドユーザーに公開されない |
3. 管理対象サーバーと同じAPIで利用可能
外部MCPサーバーは、Databricks管理対象のMCPサーバーと同じAPIで扱えるため、コードの変更が最小限で済みます。
# 管理対象と外部サーバーを同じリストで管理
MANAGED_MCP_SERVER_URLS = [
f"{host}/api/2.0/mcp/functions/system/ai", # 管理対象
f"{host}/api/2.0/mcp/external/github_connection" # 外部サーバー
]
4. コードなしでテスト可能
AI Playgroundを使えば、コードを書かずに外部MCPサーバーの動作をテストできます。これにより、本格的な実装前にプロトタイプを迅速に検証できます。
使い方の流れ
外部MCPサーバーを利用するための手順をステップごとに説明します。ここでは、上のマーケットプレイスにもあるtavilyを手動で設定してみます。なお、マーケットプレイスからインストールした場合、以下で作成するHTTP接続を自動で作ってくれます。
事前にtavilyへのサインアップとAPIキーの取得が必要です。
ステップ1: 前提条件の確認
以下の条件を満たしている必要があります。
- ワークスペースでマネージドMCPサーバーのプレビューが有効
- Unity CatalogメタストアへのCREATE CONNECTION権限
ステップ2: Unity Catalog HTTP接続の作成
外部MCPサーバーへの接続設定を作成します。
- Unity CatalogでHTTP接続を作成
- 接続URLに有効なMCPサーバーエンドポイントを指定します。ホスト名は末尾に
/を含めないでください。上で取得したAPIキーをBearer tokenに指定します。
-
「Is mcp connection」チェックボックスをオンにする(重要)。Base pathはここでは
/mcpを指定します。
接続を作成すると、Databricksは自動的にプロキシエンドポイントをプロビジョニングします。

プロキシエンドポイントの形式
https://<workspace-hostname>/api/2.0/mcp/external/{connection_name}
例: https://your-workspace.cloud.databricks.com/api/2.0/mcp/external/github_u2m_connection
ステップ3: AI Playgroundでのテスト(推奨)
本格的な実装の前に、AI Playgroundで動作確認を行います。
- DatabricksワークスペースのAI Playgroundに移動
- 「ツールが有効になっている」ラベルが付いたモデルを選択
- [ツール] > [+ ツールの追加] > [MCPサーバー]を選択
- 「外部MCPサーバー」から先ほど作成したHTTP接続を選択
- LLMとチャットして動作を確認

AI Playgroundは外部MCPサーバーから利用可能なツールを自動検出し、LLMで利用できるようにします。
ステップ4: エージェントでの実装
実際のエージェントで外部MCPサーバーを利用するには、主に2つの方法があります。
方法1: Databricks MCP Client(推奨)
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient
# ワークスペースクライアントの初期化
workspace_client = WorkspaceClient()
host = workspace_client.config.host
# 外部MCPサーバーを管理対象サーバーとして扱う
MANAGED_MCP_SERVER_URLS = [
f"{host}/api/2.0/mcp/functions/system/ai", # デフォルトの管理対象MCP
f"{host}/api/2.0/mcp/external/github_u2m_connection" # 外部MCPプロキシ
]
エージェントでの利用例
import asyncio
from your_agent_code import create_mcp_tools
# 管理対象と外部サーバーの両方からツールを作成
mcp_tools = asyncio.run(
create_mcp_tools(
ws=workspace_client,
managed_server_urls=MANAGED_MCP_SERVER_URLS
)
)
ツールの直接呼び出し例
# DatabricksMCPClientを使用した直接呼び出し
mcp_client = DatabricksMCPClient(
server_url=f"{host}/api/2.0/mcp/external/github_u2m_connection",
workspace_client=workspace_client
)
# 利用可能なツールのリストを取得
tools = mcp_client.list_tools()
print(f"利用可能なツール: {[tool.name for tool in tools]}")
# ツールの呼び出し
response = mcp_client.call_tool(
"list_commits",
{"owner": "mlflow", "repo": "mlflow", "sha": "master"}
)
print(response.content[0].text)
方法2: 標準MCP SDKの使用
より細かい制御が必要な場合は、標準のMCP SDKを使用できます。
from mcp.client.streamable_http import streamablehttp_client as connect
from mcp import ClientSession
from databricks_mcp import DatabricksOAuthClientProvider
async def main():
app_url = "https://<workspace-hostname>/api/2.0/mcp/external/github_u2m_connection"
client = WorkspaceClient()
async with connect(app_url, auth=DatabricksOAuthClientProvider(client)) as (
read_stream,
write_stream,
_,
):
async with ClientSession(read_stream, write_stream) as session:
# 初期化
init = await session.initialize()
# ツールのリスト取得
tools = await session.list_tools()
# ツールの呼び出し
arguments = {
"owner": "mlflow",
"repo": "mlflow",
"sha": "master"
}
response = await session.call_tool(
name="list_commits",
arguments=arguments
)
await main()
ステップ5: エージェントのデプロイ
LangGraphやOpenAIエージェントとして実装し、本番環境にデプロイします。サンプルノートブックが提供されているため、これらを参考にできます。
- LangGraph MCPツール呼び出しエージェント
- OpenAI MCPツール呼び出しエージェント
注意点
外部MCPサーバー連携機能を使用する際は、以下の点に注意が必要です。
1. ベータ版機能である
この機能は現在ベータ版です。本番環境での使用には慎重な検証が必要です。
- 機能や仕様が変更される可能性がある
- 予期しない動作が発生する可能性がある
- サポート体制が正式リリース版と異なる場合がある
2. 対応トランスポートの制限
Databricksはストリーミング可能なHTTPトランスポートメカニズムを使用する外部MCPサーバーのみをサポートします。
他のトランスポート方式(例: stdio、SSE等)を使用するMCPサーバーは利用できません。
3. Private Linkはサポート対象外
VPC内のリソースへのPrivate Linkを使用したプライベート接続は現在サポートされていません。
サポート対象: インターネット経由のパブリックエンドポイント
サポート対象外: Private Link経由のVPC内プライベートエンドポイント
この機能が必要な場合は、Databricksのサポートチームに問い合わせる必要があります。
4. Unity Catalog HTTP接続が必須
外部MCPサーバーに接続するには、必ずUnity Catalog HTTP接続を使用する必要があります。直接接続はサポートされていません。
必須設定項目
- 有効なMCPサーバーエンドポイントURL
- 「Is mcp connection」チェックボックスをオン
- 適切な認証情報(OAuth等)
5. 権限管理
Unity CatalogメタストアへのCREATE CONNECTION権限が必要です。権限がない場合は、ワークスペース管理者に依頼する必要があります。
まとめ
Databricksの外部MCPサーバー連携機能により、マーケットプレイスなどからDatabricks外部のAIツールやサービスをエージェントから安全に利用できるようになりました。Unity Catalog HTTP接続とマネージドプロキシにより、認証情報を直接管理することなく、セキュアな統合が実現できます。
主要なポイント
- Unity Catalog HTTP接続を作成し、「Is mcp connection」を有効化
- マネージドプロキシが自動的にトークン管理を実施
- AI Playgroundでコードなしのプロトタイピングが可能
- 管理対象サーバーと同じAPIで外部サーバーも利用可能
- ベータ版機能であり、ストリーミング可能なHTTPトランスポートのみサポート
この機能を活用することで、Databricksエージェントの機能を大幅に拡張し、より多様なユースケースに対応できます。まずはAI Playgroundで動作を確認し、段階的に本番環境への導入を検討することをお勧めします。



