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

カスタムMCPサーバー

エージェントが独自のツールを呼び出せるように、Databricks Apps上でMCPサーバーを構築します。Databricks Appsは、サーバーをランするためのコンピュートと、エージェントがサーバーに接続するためのHTTPS URLを提供します。

カテゴリを選択​

Databricks AppsでMCPサーバーをホストするには、次の3つの方法のいずれかを選択します。

スターター Template からサーバーを構築します。​

MCP Server (Starter) Templateには、独自のPythonコードを追加する前に呼び出すことができる、動作確認用のヘルツールが含まれています。

ステップ1:Templateを検索してデプロイする​

Databricks Apps の要件を満たすワークスペースを使用します。

  1. ワークスペースで、 Unity Gateway を開き、 MCPs を選択します。
  2. + MCP をクリックし、 新しいMCPサーバーを構築 を選択します。Databricks Appsの作成ページが開きます。
  3. 「Template からインストール」 を見つけます。この Template ギャラリーで 「Agents」 tabを選択し、 「MCP Server (Starter)」 を選択します。
  4. リソース、コンピュート、および承認の設定を確認します。セットアップを進めるには、 [次へ] をクリックします。
  5. アプリにmcp-my-serverという名前を付け、 [アプリの作成] をクリックします。その名前が使用されている場合は、mcp-で始まる別の名前を使用してください。このプレフィックスにより、AI PlaygroundがMCPサーバーを認識できるようになります。

アプリを作成すると、Template コードもデプロイされます。アプリの 概要 ページでデプロイメントが完了するのを待ちます。ここにURLとデプロイメントステータスが表示されます。

ステップ 2: 最初のツールを呼び出す​

概要 ページからアプリの URL をコピーし、/mcp を追加します。

Text
https://<app-hostname>/mcp

この URL を使用してエージェントを接続します。

エージェントに質問する: 「Call the health tool.」 ツールが"status": "healthy"を返すことを確認してください。

ステップ 3:独自のツールを追加する​

テキストを大文字に変換するツールを追加する:

  1. アプリの [概要] ページで [IDEで編集] に従ってソースコードをコンピュータにコピーし、編集内容をワークスペースに同期します。

  2. server/tools.pyを開きます。既存のツールと共に、この関数を load_tools(mcp_server) 内に追加します。

    Python
    @mcp_server.tool
    def uppercase(text: str) -> str:
    """Convert a string to uppercase."""
    return text.upper()
  3. 変更を同期して、アプリを再デプロイします。

  4. エージェントを再接続して、更新されたツールを読み込みます。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: アプリを作成する​

  1. Unity Gateway で MCPs を選択し、 + MCP をクリックして、 新しいMCPサーバーを構築 を選択します。
  2. [Apps] の作成ページの [ Install from a template ] で [ Agents ] を選択し、[ MCP Server (OpenAPI) ] を選択します。
  3. uc-volume リソースの場合は、spec.json を含むボリュームを選択します。これにより、アプリがAPIの説明にアクセスできるようになります。
  4. コンピュートおよび承認の設定に進みます。アプリに mcp-my-api という名前を付け、 [Create app] をクリックします。

ステップ 3: API 接続を設定する​

アプリでは、APIへのリクエストを認証するためにHTTP接続名が必要です。

  1. アプリの Overview ページで、 Edit in your IDE に従ってソースコードをご利用のコンピュータにコピーし、ワークスペースへの同期を設定します。

  2. In the section, find and set its value to your connection's name:app.yaml``envセクションでUC_CONNECTION_NAMEを見つけ、その値を接続名に設定します。

    YAML
    - name: UC_CONNECTION_NAME
    value: my_api_connection

    my_api_connection接続の名前に置き換えます。他のTemplate設定は変更しないでください。

  3. 更新されたファイルを同期してから、アプリをデプロイし直します。 概要 でデプロイが完了するまでお待ちください。

ステップ 4: 最初の呼び出しを行う​

各呼び出し元には、HTTP 接続に対する USE CONNECTION が必要です。ユーザーごとの OAuth を使用する場合は、プロンプトが表示されたらプロバイダーにサインインします。

  1. 概要 からアプリのURLをコピーし、/mcpを追加して、エージェントを接続します。
  2. エージェントにlist_api_endpointsを呼び出すよう依頼してください。結果に指定のEndpointが含まれていることを確認します。
  3. エージェントに読み取り専用のEndpointを呼び出すよう依頼し、APIからデータが返されることを確認します。

構成の詳細については、OpenAPI Templateソースを参照してください。

OpenAPI仕様の例​

この仕様では GET /widgets について説明します。URL と操作を API の値に置き換えます。

JSON
{
"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エントリポイントの場合は、次を使用します:

    YAML
    command: ['python', 'server.py']

ステップ 2: デプロイと接続​

  1. Unity Gateway で MCPs を選択し、 + MCP をクリックして、 新しいMCPサーバーを構築 を選択します。
  2. アプリの作成ページで、 [カスタムアプリを作成] を選択します。mcp- プレフィックスを指定して名前を付け、アプリの設定を完了します。
  3. アプリの [概要] ページで [IDE で編集] に従って、ソース フォルダーをワークスペースに同期します。
  4. [Deploy] をクリックし、ワークスペースフォルダーを選択してから、 [選択] と [Deploy] をクリックします。デプロイが完了するまでお待ちください。デプロイの手順を参照してください。
  5. アプリのURLをコピーし、MCPパスを追加します。そのURLを使用してエージェントを接続し、サーバーのツールのいずれかを呼び出して接続を確認します。

エージェントを接続する​

選択したパスの MCP URL を使用します。スターターおよび OpenAPI Template の場合は、アプリの URL に /mcp を追加します。既存のサーバーの場合は、サーバーで構成されている MCP パスを使用します。

エージェントのセットアップガイドを選択します:

呼び出し元には、アプリに対する CAN USE 権限が必要です。Apps のパーミッションを参照してください。

価格とモニタリング​

アプリでは Databricks Apps の価格が適用されます。デプロイおよびリクエストのLogsについては、Databricks Apps のLogsとモニタリングを参照してください。