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

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

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

カスタムMCPサーバーへのアクセスは、 Databricks Apps権限によって制御されます。 他の MCP サーバーや LLM エンドポイントと並行してカスタム MCP のアクティビティを監視するには、 AI Gatewayを使用します。

必要条件

カスタムMCPサーバーを作成またはデプロイする

出発点に合ったオプションを選択してください。

新しいアイコンをファイルします。 テンプレートから作成 :MCPサーバーをゼロから構築する

アプリテンプレートからカスタムMCPサーバーを作成する

組み込みの「Hello World MCP Server」テンプレートを使用して、サンプルツールが既に含まれているMCPサーバーを作成およびデプロイします。

  1. サイドバーで、 コンピュート をクリックします。

  2. アプリ」 タブをクリックしてください。

  3. 「アプリを作成」 をクリックします。

  4. エージェント」 カテゴリで、 「MCPサーバー - Hello World」 テンプレートを選択します。

  5. mcp-で始まるアプリ名を入力してください(例: mcp-hello-world )。

注記

AI PlaygroundでMCPサーバーとして認識されるには、アプリ名がmcp-で始まる必要があります。

  1. 「アプリを作成」 をクリックします。

Databricksは、カスタマイズ可能なサンプルコードとともにアプリをデプロイします。

テンプレートには、すぐに使い始められるように2つのサンプルツールが含まれています。

  • health() : サーバーが動作していることを確認し、ステータス情報を返す診断ツール。
  • get_current_user() : Databricks SDK を使用して現在のユーザーの情報を取得するツール。ワークスペース認証を統合する方法を示します。

カスタムツールを追加する

独自のツールを追加するには、アプリのソースコードを開き、 @mcp.tool()デコレータを使用して新しい関数を定義します。例えば、次のツールは文字列を大文字に変換します。

Python
@mcp.tool()
def uppercase(text: str) -> str:
"""Convert a string to uppercase."""
return text.upper()

各ツールにはドキュメント文字列を含める必要があります。AIエージェントは、ドキュメント文字列を使用して、ツールを呼び出すタイミングを理解します。ツールを追加したら、アプリを再デプロイして利用可能にしてください。

アプリテンプレートの操作方法の詳細については、 「テンプレートからアプリを作成する」を参照するか、 GitHub でテンプレートのソースコードを参照してください。

クラウドアップロードアイコン。 既存サーバーのデプロイ :既存のMCPサーバーをDatabricksアプリとしてデプロイします。

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

既存の 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 mcp-my-server
注記

アプリ名の前にmcp-を付けることにより、それがMCPサーバーであることを明確に識別できます。この命名規則は、ワークスペース内での発見と整理に役立ちます。

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

    Bash
    DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
    databricks sync . "/Users/$DATABRICKS_USERNAME/mcp-my-server"
    databricks apps deploy mcp-my-server --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/mcp-my-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://mcp-my-server-6051921418418893.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 ツール呼び出しエージェント

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

次のステップ

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

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