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

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

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

必要条件

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

独自の MCP サーバーを作成し、それを Databricks アプリとして展開する例については、 GitHub - カスタム MCP サーバー テンプレートを参照してください。

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

環境を設定する

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

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

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

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

MCP サーバーを展開するときに、依存関係の管理と統合ツールにuv を使用します。

  1. MCP サーバーのルート ディレクトリにrequirements.txtを追加し、依存関係としてuvを含めます。

    uv プロジェクト構成で定義された追加の依存関係のインストールを処理します。

    Txt
    uv

  2. サーバーのスクリプト エントリ ポイントを定義するpyproject.tomlファイルを作成します。

    pyproject.toml例:

    Toml
    [project.scripts]
    custom-server = "server.main:main"

    この例では、

    • custom-server 使用するスクリプト名です uv run
    • server.main:main 実行するモジュールパス( server/main.py )と関数( main )を指定します
  3. uv runを使用して MCP サーバーを実行するための CLI コマンドを指定するapp.yamlファイルを追加します。

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

    app.yaml例:

    YAML
    command: [
    'uv',
    'run',
    'custom-server', # This must match a script defined in pyproject.toml
    ]

uv run custom-server実行すると、uv はスクリプト定義を検索し、モジュール パスを見つけて、 main()関数を呼び出します。

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

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

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

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

デプロイしたアプリのURLを見つける

デプロイ後、Databricks UI でアプリの URL を見つけることができます。MCP サーバー エンドポイントはhttps://<app-url>/mcpで利用可能です。

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

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

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

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

Python
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient

# Replace with your deployed app URL
# Example: https://custom-mcp-server-6051921418418893.staging.aws.databricksapps.com/mcp
mcp_server_url = "https://<app-url>/mcp"

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

mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)

# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {tools}")

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

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

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

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

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

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

Additional リソース

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

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