カスタムまたはサードパーティの MCP サーバーを Databricks アプリとしてホストします。 カスタム MCP サーバーは、デプロイする MCP サーバーが既にある場合や、ツールのソースとしてサードパーティの MCP サーバーを実行する場合に便利です。
カスタム MCP サーバーへのアクセスは、 Databricks Apps のアクセス許可によって制御されます。 他の MCP サーバーと LLM エンドポイントと共にカスタム MCP アクティビティを監視するには、 Unity AI Gateway を使用します。
ホストされたカスタムMCPサーバーをエージェントコードで使用するには、「 カスタムエージェントでMCPサーバーを使用する」を参照してください。
Requirements
- Databricks アプリとしてホストされる MCP サーバーは、 ストリーミング可能な HTTP トランスポートなどの HTTP 互換トランスポートを実装する必要があります。
アプリ テンプレートからカスタム MCP サーバーを作成する
組み込みの Hello World MCP サーバー テンプレートを使用して、既に含まれているサンプル ツールを使用して MCP サーバーを作成して展開します。
サイドバーで、[コンピューティング] をクリックします。
[ アプリ ] タブをクリックします。
[ アプリの作成] をクリックします。
Agents カテゴリで、MCP サーバー - Hello World テンプレートを選択します。
mcp-で始まるアプリ名 (たとえば、mcp-hello-world) を入力します。Note
アプリ名は、
mcp-で始まる必要があります。これは、AI Playground で MCP サーバーとして認識されます。[ アプリの作成] をクリックします。
Azure Databricksは、カスタマイズできるコード例を使用してアプリをデプロイします。
このテンプレートには、作業を開始するための 2 つのツール例が含まれています。
-
health(): サーバーが動作していることを確認し、状態情報を返す診断ツール。 -
get_current_user(): Databricks SDK を使用して現在のユーザーの情報を取得し、ワークスペース認証を統合する方法を示すツール。
カスタム ツールを追加する
独自のツールを追加するには、アプリのソース コードを開き、 @mcp.tool() デコレーターを使用して新しい関数を定義します。 たとえば、次のツールは文字列を大文字に変換します。
@mcp.tool()
def uppercase(text: str) -> str:
"""Convert a string to uppercase."""
return text.upper()
各ツールには docstring を含める必要があります。 エージェントは docstring を使用して、ツールを呼び出すタイミングを理解します。 ツールを追加した後、アプリを再デプロイして使用できるようにします。
アプリ テンプレートの操作の詳細については、テンプレートからのアプリの作成に関するページを参照するか、GitHub のテンプレート ソース コードを参照してください。
既存の MCP サーバーを Databricks アプリとしてホストする
既存の Python MCP サーバーを Databricks アプリとしてホストするには、次の手順に従います。
環境を設定する
MCP サーバーをデプロイする前に、OAuth を使用してワークスペースに対して認証を行います。
ローカル ターミナルで次を実行します。
databricks auth login --host https://<your-workspace-hostname>
MCP サーバーを設定する
MCP サーバーをデプロイするときに、依存関係管理と統合ツールに uv を使用します。
MCP サーバーのルート ディレクトリに
requirements.txtを追加し、依存関係としてuvを含めます。uvは、プロジェクト構成で定義されている追加の依存関係のインストールを処理します。uvサーバーのスクリプト エントリ ポイントを定義する
pyproject.tomlファイルを作成します。pyproject.toml例:[project.scripts] custom-server = "server.main:main"この例は次のとおりです。
-
custom-serverは、使用するスクリプト名です。uv run -
server.main:mainは、実行するモジュール パス (server/main.py) と関数 (main) を指定します
-
app.yamlを使用して MCP サーバーを実行する CLI コマンドを指定するuv runファイルを追加します。既定では、Databricks アプリはポート 8000 でリッスンします。 サーバーが別のポートでリッスンする場合は、 ファイルの
app.yamlを使用して設定します。app.yaml例:command: [ 'uv', 'run', 'custom-server', # This must match a script defined in pyproject.toml ]
uv run custom-serverを実行すると、uv はスクリプト定義を検索し、モジュール パスを検索して、main()関数を呼び出します。
MCP サーバーを Databricks アプリとしてデプロイする
MCP サーバーをホストする Databricks アプリを作成します。
databricks apps create mcp-my-serverNote
MCP サーバーとして明確に識別するには、アプリ名に
mcp-のプレフィックスを付けます。 この名前付け規則は、ワークスペース内の検出可能性と編成に役立ちます。app.yamlファイルを含むディレクトリから次のコマンドを実行して、ソース コードを Azure Databricks にアップロードし、アプリをデプロイします。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 を見つける
デプロイ後、Azure Databricks UI でアプリの URL を見つけることができます。 MCP サーバー エンドポイントは、 https://<app-url>/mcpで使用できます。
Pricing
カスタム MCP サーバーには、 Databricks Apps の価格が適用されます。
その他のリソース
- エージェント内のカスタムMCPサーバーを使用して 、ノートブック、ローカル環境、エージェントコードからホストサーバーに接続します。
- MCPをAIアシスタントやコーディングエージェントに接続 し、Claude、Cursor、MCP Inspector、その他の外部クライアントをセットアップします。