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

Databricks アプリを使用してカスタム MCP サーバーをホストする

備考

ベータ版

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

独自のカスタム MCP サーバーまたはサードパーティの MCP サーバーを Databricks アプリとしてホストします。カスタム MCP サーバーは、展開する MCP サーバーが既にある場合、またはサードパーティの MCP サーバーをツールのソースとして実行する場合に便利です。

必要条件

MCP サーバーを Databricks アプリとしてホストする

独自の MCP サーバーを作成し、Databricks アプリとしてデプロイする例については、 カスタム MCP サーバー リポジトリ を参照してください。

既存の Python MCP サーバーを Databricks アプリとしてホストするには、次の手順に従います。

環境を設定する

MCP サーバーを展開する前に、OAuth を使用してワークスペースに認証します。

  1. ローカルターミナルで次のコマンドを実行します。

    Bash
    databricks auth login --host https://<your-workspace-hostname>

MCP サーバーをセットアップする

  1. MCP サーバーのルート ディレクトリにrequirements.txtを追加し、サーバーの Python 依存関係を指定します。

    サーバーがパッケージ管理にuv を使用する場合は、requirements.txt にuvを追加すると、追加の依存関係のインストールが処理されます。

  2. MCP サーバーを実行するための CLI コマンドを指定するapp.yamlを追加します。

    デフォルトでは、Databricks アプリはポート 8000 でリッスンします。サーバーが別のポートをリッスンする場合は、 app.yamlファイル内の環境変数オーバーライドを使用して設定します。

    app.yaml例:

    YAML
    command: [
    'uv',
    'run',
    'your-server-name',
    ..., # optionally include additional parameters here
    ]

MCPサーバーをDatabricksアプリとしてデプロイする

  1. MCP サーバーをホストする Databricks アプリを作成します。

    Bash
    databricks apps create mcp-my-custom-server
  2. ソース コードを Databricks にアップロードし、 app.yaml ファイルを含むディレクトリから次のコマンドを実行してアプリをデプロイします。

    Bash
    DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
    databricks sync . "/Users/$DATABRICKS_USERNAME/mcp-my-custom-server"
    databricks apps deploy mcp-my-custom-server --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/mcp-my-custom-server"

カスタム MCP サーバーに接続する

タブをクリックすると、さまざまな環境から MCP サーバーに接続する方法が表示されます。

「環境を設定する」の説明に従って、OAuth を使用してワークスペースに認証します。

次の例は、カスタム MCP サーバーに接続し、使用可能なツールを一覧表示する方法を示しています。

Python
from databricks_mcp import DatabricksOAuthClientProvider
from databricks.sdk import WorkspaceClient
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamablehttp_client

databricks_cli_profile = "DEFAULT"
workspace_client = WorkspaceClient(profile=databricks_cli_profile)

# Replace with your actual custom MCP server URL
mcp_server_url = "https://<workspace-hostname>/serving-endpoints/mcp-my-custom-server/invocations"

async def test_connection_to_server():
async with streamablehttp_client(
f"{mcp_server_url}", auth=DatabricksOAuthClientProvider(workspace_client)
) as (read_stream, write_stream, _), ClientSession(
read_stream, write_stream
) as session:
# List available tools
tools = await session.list_tools()
print(f"Available tools: {[tool.name for tool in tools.tools]}")

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

次のノートブックは、Databricks アプリでホストされているカスタム MCP サーバーを使用して MCP ツールを呼び出す LangGraph および OpenAI エージェントを作成する方法を示しています。

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

Open notebook in new tab

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

Open notebook in new tab

Additional リソース

アプリのクックブックには、MCP サーバーをさまざまなフレームワークと統合するためのエンドツーエンドのコード例が記載されています。

完全なソース コードと追加の例については、 Databricks Apps クックブック リポジトリを参照してください。