カスタムMCPサーバー
エージェントが独自のツールを呼び出せるように、Databricks Apps上でMCPサーバーを構築します。Databricks Appsは、サーバーをランするためのコンピュートと、エージェントがサーバーに接続するためのHTTPS URLを提供します。
カテゴリを選択
Databricks AppsでMCPサーバーをホストするには、次の3つの方法のいずれかを選択します。
- スターター Templateからサーバーを構築し、独自の Python ツールを記述します。
- すでに HTTP API をお持ちの場合は、REST API を MCP ツールとして公開してください。
- サーバーコードが既にある場合は、既存のMCPサーバーをデプロイします。
スターター Template からサーバーを構築します。
MCP Server (Starter) Templateには、独自のPythonコードを追加する前に呼び出すことができる、動作確認用のヘルツールが含まれています。
ステップ1:Templateを検索してデプロイする
Databricks Apps の要件を満たすワークスペースを使用します。
- ワークスペースで、 Unity Gateway を開き、 MCPs を選択します。
- + MCP をクリックし、 新しいMCPサーバーを構築 を選択します。Databricks Appsの作成ページが開きます。
- 「Template からインストール」 を見つけます。この Template ギャラリーで 「Agents」 tabを選択し、 「MCP Server (Starter)」 を選択します。
- リソース、コンピュート、および承認の設定を確認します。セットアップを進めるには、 [次へ] をクリックします。
- アプリに
mcp-my-serverという名前を付け、 [アプリの作成] をクリックします。その名前が使用されている場合は、mcp-で始まる別の名前を使用してください。このプレフィックスにより、AI PlaygroundがMCPサーバーを認識できるようになります。
アプリを作成すると、Template コードもデプロイされます。アプリの 概要 ページでデプロイメントが完了するのを待ちます。ここにURLとデプロイメントステータスが表示されます。
ステップ 2: 最初のツールを呼び出す
概要 ページからアプリの URL をコピーし、/mcp を追加します。
https://<app-hostname>/mcp
この URL を使用してエージェントを接続します。
エージェントに質問する: 「Call the health tool.」 ツールが"status": "healthy"を返すことを確認してください。
ステップ 3:独自のツールを追加する
テキストを大文字に変換するツールを追加する:
-
アプリの [概要] ページで [IDEで編集] に従ってソースコードをコンピュータにコピーし、編集内容をワークスペースに同期します。
-
server/tools.pyを開きます。既存のツールと共に、この関数をload_tools(mcp_server)内に追加します。Python@mcp_server.tooldef uppercase(text: str) -> str:"""Convert a string to uppercase."""return text.upper() -
変更を同期して、アプリを再デプロイします。
-
エージェントを再接続して、更新されたツールを読み込みます。
uppercaseを呼び出してhelloを渡し、結果がHELLOであることを確認するように依頼します。
完全なサーバーについては、Starter Templateソースを参照してください。
REST API を MCP ツールとして公開する
HTTP API(顧客検索 API など)がすでに存在し、エージェントにそれを呼び出させたい場合は、このオプションを使用します。 MCP Server (OpenAPI) Template は、API の Endpoint を検出し、呼び出すためのツールを提供します。
ステップ 1: API を準備する
Template には次の 2 つが必要です。
- APIの説明: APIのOpenAPI 3.x仕様を
spec.jsonとして保存し、ボリュームにuploadします。サブフォルダの外側のボリュームのルートに配置します。仕様例を参照してください。 - HTTP接続: APIの認証情報を格納する接続を作成するか、既存の接続を使用します。接続名をコピーします。作成には
CREATE CONNECTIONが必要です。
ステップ 2: アプリを作成する
- Unity Gateway で MCPs を選択し、 + MCP をクリックして、 新しいMCPサーバーを構築 を選択します。
- [Apps] の作成ページの [ Install from a template ] で [ Agents ] を選択し、[ MCP Server (OpenAPI) ] を選択します。
- uc-volume リソースの場合は、
spec.jsonを含むボリュームを選択します。これにより、アプリがAPIの説明にアクセスできるようになります。 - コンピュートおよび承認の設定に進みます。アプリに
mcp-my-apiという名前を付け、 [Create app] をクリックします。
ステップ 3: API 接続を設定する
アプリでは、APIへのリクエストを認証するためにHTTP接続名が必要です。
-
アプリの Overview ページで、 Edit in your IDE に従ってソースコードをご利用のコンピュータにコピーし、ワークスペースへの同期を設定します。
-
In the section, find and set its value to your connection's name:
app.yaml``envセクションでUC_CONNECTION_NAMEを見つけ、その値を接続名に設定します。YAML- name: UC_CONNECTION_NAMEvalue: my_api_connectionmy_api_connection接続の名前に置き換えます。他のTemplate設定は変更しないでください。 -
更新されたファイルを同期してから、アプリをデプロイし直します。 概要 でデプロイが完了するまでお待ちください。
ステップ 4: 最初の呼び出しを行う
各呼び出し元には、HTTP 接続に対する USE CONNECTION が必要です。ユーザーごとの OAuth を使用する場合は、プロンプトが表示されたらプロバイダーにサインインします。
- 概要 からアプリのURLをコピーし、
/mcpを追加して、エージェントを接続します。 - エージェントに
list_api_endpointsを呼び出すよう依頼してください。結果に指定のEndpointが含まれていることを確認します。 - エージェントに読み取り専用のEndpointを呼び出すよう依頼し、APIからデータが返されることを確認します。
構成の詳細については、OpenAPI Templateソースを参照してください。
OpenAPI仕様の例
この仕様では GET /widgets について説明します。URL と操作を API の値に置き換えます。
{
"openapi": "3.1.0",
"info": { "title": "Example API", "version": "1.0.0" },
"servers": [{ "url": "https://api.example.com" }],
"paths": {
"/widgets": {
"get": {
"summary": "List widgets",
"responses": { "200": { "description": "A list of widgets" } }
}
}
}
}
既存の MCP サーバーをデプロイする
既存の MCP サーバーを Databricks Apps でホストします。
ステップ 1: サーバーを準備する
ソースフォルダに必要な要素:
-
HTTPサーバー: ストリーミング可能な HTTP を構成します。
0.0.0.0およびDATABRICKS_APP_PORT内のポートでリッスンします (defaultは8000)。/mcpなどの MCP パスをメモしておきます。 -
Dependencies: Pythonの場合は
requirements.txt、Node.jsの場合はpackage.jsonなど、適切な dependency file を含めます。 -
起動コマンド: サーバーを起動するコマンドとともに、
app.yamlを追加します。名前がserver.pyのPythonエントリポイントの場合は、次を使用します:YAMLcommand: ['python', 'server.py']
ステップ 2: デプロイと接続
- Unity Gateway で MCPs を選択し、 + MCP をクリックして、 新しいMCPサーバーを構築 を選択します。
- アプリの作成ページで、 [カスタムアプリを作成] を選択します。
mcp-プレフィックスを指定して名前を付け、アプリの設定を完了します。 - アプリの [概要] ページで [IDE で編集] に従って、ソース フォルダーをワークスペースに同期します。
- [Deploy] をクリックし、ワークスペースフォルダーを選択してから、 [選択] と [Deploy] をクリックします。デプロイが完了するまでお待ちください。デプロイの手順を参照してください。
- アプリのURLをコピーし、MCPパスを追加します。そのURLを使用してエージェントを接続し、サーバーのツールのいずれかを呼び出して接続を確認します。
エージェントを接続する
選択したパスの MCP URL を使用します。スターターおよび OpenAPI Template の場合は、アプリの URL に /mcp を追加します。既存のサーバーの場合は、サーバーで構成されている MCP パスを使用します。
エージェントのセットアップガイドを選択します:
- コーディングエージェント:
ug mcp add --names "app:mcp-my-server"を使用してアプリを追加します。mcp-my-serverをアプリの名前に置き換えます。 - Python エージェント: アプリのMCP URLを使用して 「MCP ツールを使用する」に従ってください。
- その他のクライアント: 同じ URL を使用して OAuth を設定します。
呼び出し元には、アプリに対する CAN USE 権限が必要です。Apps のパーミッションを参照してください。
価格とモニタリング
アプリでは Databricks Apps の価格が適用されます。デプロイおよびリクエストのLogsについては、Databricks Apps のLogsとモニタリングを参照してください。