エージェントをツールに接続する
エージェントをツールに接続すると、テキスト生成以外の実用的な機能(ドキュメントの検索、テーブルのクエリ、外部 APIs の呼び出し、カスタムコードの実行など)が提供されます。
この図は、Databricksがほとんどの統合に推奨するMCPルートを示しています。MCPは、エージェントを外部サービスに接続するいくつかの方法の1つです。MCPサービスに加えて、Unity CatalogのHTTP接続を介してREST APIsを直接呼び出すことができます。ユーザーごとの認証にはマネージドOAuthを選択し、エージェントコードからAPIsを呼び出すにはUnity Catalog接続プロキシ、またはhttp_request()をラップするUnity Catalog関数ツールを選択します。次の表は、Databricksデータから外部サービスへの各接続方法をまとめたものです。
アプローチ | 推奨ユースケース |
|---|---|
Databricks データへのクエリー実行や、既製の Genie、Databricks AI Search、Databricks SQL、Unity Catalog 関数 MCP サーバーによるガバナンスされた関数の実行には、このアプローチを使用してください。 | |
MCPサーバーを公開するサービスには、この方法を使用してください。Unity AIゲートウェイを通じて、自動ツール検出と管理されたアクセスを提供します。 | |
このアプローチは、Google Drive または SharePoint の統合に適用されます。DatabricksがOAuth認証情報を管理するため、アプリの登録は不要です。 | |
このアプローチを使用して、外部サービスの独自のクライアントSDKでエージェントコードから直接REST APIコールを行います。 | |
|
Databricksデータ用マネージドMCPサーバー
Databricksは、すぐに使えるマネージドMCPサーバーを提供しており、エージェントがワークスペース内のデータと機能に管理されたアクセスを、サーバーを構築またはホストすることなく利用できます。各サーバーには専用のURLとOAuthスコープがあり、Unity Catalogがアクセスを管理します。
- **Genie**: GenieエージェントおよびUnity Catalogテーブル内の構造化データを自然言語でクエリーします。
- Databricks AI Search (ベクトル検索) : ベクトル検索インデックスのドキュメントを検索します。
- Databricks SQL : Unity Catalogテーブルに対してSQLクエリーを実行します。
- Unity Catalog functions : Call custom Python and SQL functions registered in Unity Catalog.
サーバーURL、OAuthスコープ、およびカタログ全体については、Databricksで管理されるMCPサーバーを参照してください。エージェントコードからこれらのサーバーを呼び出すには、「エージェントでMCPサーバーを使用する」を参照してください。
外部MCPサーバー
エージェントをSlack、Googleカレンダー、またはAPIを持つ任意のサービスなどの外部アプリケーションに接続します。Databricksは、外部サービスにMCPサーバーがあるか、ユーザーごとの認証が必要か、またはエージェントコードから直接APIsを呼び出すことを好むかによって、いくつかの方法を提供しています。すべての方法は、Unity Catalog HTTP接続に依存しています。これは、安全で統制された認証情報管理を提供し、OAuth 2.0のユーザーマシン間 (U2M) およびマシン間 (M2M) 認証を含む複数の認証方法をサポートしています。
外部サービスでMCPサーバーが利用可能な場合、DatabricksはそれをUnity CatalogのMCPサービスとして登録することをお勧めします。MCPサービスは、自動ツール検出、ユーザーごとの認証、および付与、ツール選択、サービスポリシーによるUnity AI Gatewayを介したガバナンスを提供します。
- 外部MCPサーバーをMCPサービスとして登録し管理するには、外部MCPサーバーを登録するを参照してください。接続と認証の設定については、ステップ1. 接続を作成するを参照してください。
- エージェントでの MCP サーバーの使用で、エージェントフレームワークごとのコード例(OpenAI Agents SDK、LangGraph、Model Serving)を参照してください。
Slack、GitHub、Google Drive などの一般的なソフトウェアとしてのサービス (SaaS) ツールには、Databricks が設定不要ですぐに使える MCP サービスを提供しています。「Databricks提供のMCPサービス」を参照してください。
管理型 OAuth
Databricksは、一部のAPIツールプロバイダー向けにマネージドOAuthフローを提供しています。独自のOAuthアプリを登録したり、認証情報を管理したりする必要はありません。Databricksは、開発およびテストにはマネージドOAuthを推奨しています。本番運用のユースケースでカスタムOAuth認証情報の生成が必要な場合は、詳細についてプロバイダーのドキュメントを参照してください。
次の統合は、Databricks がバックエンドで安全に管理および保存するOAuth資格情報を使用します。
プロバイダー | 構成に関する注意事項 | サポートされているスコープ | 説明 |
|---|---|---|---|
Google Drive API | なし |
| Google ドキュメントと Google スプレッドシートを含む Google Drive ファイルへの読み取り専用アクセス。 |
Gmail API | なし |
| Gmailのメッセージ、スレッド、下書き、ラベルへの読み取り専用アクセス。 |
Google Calendar API | なし |
| Googleカレンダーのイベント、カレンダー、および空き時間情報への読み取り専用アクセス。 |
SharePoint API | なし |
| Microsoft Graphを介したSharePointおよびOneDriveファイル、Outlookメールとカレンダー、Microsoft Teamsチャット、チャンネル、および会議への読み取り専用アクセス。 |
マネージドOAuthを設定するには、**OAuth User to Machine Per User**認証タイプでHTTP接続を作成し、**OAuth Provider**ドロップダウンメニューからプロバイダーを選択します。 詳細なステップについては、「外部サービスへの接続を作成する」を参照してください。
プロバイダーは、各ユーザーに初回使用時に認証するよう促します。
必要に応じて、マネージド OAuth が使用する次のリダイレクト URI を許可リストに登録します。
クラウド | リダイレクトURI |
|---|---|
AWS |
|
Azure |
|
GCP |
|
Glean、GitHub、Atlassian、Slack など、公開されているMCPサーバーを持つマネージドOAuthプロバイダーの場合、Databricksは、サーバーをMCPサービスとして登録するとOAuth認証情報を管理できます。マネージド OAuth プロバイダーを参照してください。
Unity Catalog接続プロキシEndpoint
外部サービスのクライアントSDKを使用してUnity Catalog接続プロキシEndpointを使用し、エージェントコードから直接REST APIsを呼び出します。SDKのベースURLをプロキシEndpointに向け、DatabricksトークンをAPIキーとして使用します。Databricks はリクエストを認証し、Unity Catalog 接続から外部サービス の認証情報を自動的に挿入します。お客様のコードは、外部サービスのトークンを直接処理しません。
必要な権限: 接続オブジェクトのUSE CONNECTION権限。
- OpenAI
- Slack
- Generic HTTP
DatabricksOpenAIを使用して、Unity Catalog接続プロキシを介して外部OpenAIへの呼び出しをルーティングします。まず、Databricksシークレットとして保存されているOpenAI APIキーを使用してUnity Catalog HTTP接続を作成します。
CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
host 'https://api.openai.com',
base_path '/v1',
bearer_token secret ('<secret-scope>', '<secret-key>')
);
次に、databricks-openaiパッケージをインストールし、エージェントコードでプロキシURLとワークスペースクライアントを使用します。
pip install databricks-openai
from databricks_openai import DatabricksOpenAI
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
client = DatabricksOpenAI(
workspace_client=w,
base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/openai_connection/proxy/",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
Slack SDKを、Unity Catalog接続プロキシ経由でルーティングするように構成します。ホストhttps://slack.comとベースパス/apiを使用してUnity Catalog HTTP接続を作成し、プロキシURLをSDKベースURLとして使用します:
from slack_sdk import WebClient
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
client = WebClient(
token=w.config.authenticate()["Authorization"].split(" ")[1],
base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/slack_connection/proxy/",
)
result = client.chat_postMessage(channel="C123456", text="Hello from Databricks!")
print(result["message"]["text"])
専用のSDKがないサービスの場合、プロキシURLを直接使用してrequestsライブラリを使用してください。
import requests
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
response = requests.post(
f"{w.config.host}/api/2.0/unity-catalog/connections/my_connection/proxy/api/v1/resource",
headers={
**w.config.authenticate(),
"Content-Type": "application/json",
},
json={"key": "value"},
)
プロキシEndpoint、サポートされている認証方法、および接続設定の詳細については、HTTP接続プロキシ経由でリクエストを転送するを参照してください。
Unity Catalog 関数ツール
Databricksは、新しい統合にはMCPサービスまたはUnity Catalog接続プロキシの使用をお勧めします。Unity Catalog関数ツールはhttp_requestに対応しており引き続きサポートされますが、推奨されるアプローチではなくなりました。
外部サービスを呼び出すhttp_request()をラップするUnity Catalog関数を作成できます。このアプローチは、Slackにメッセージを投稿する関数など、SQLベースのツール定義に役立ちます。SQLの例と接続タイプの制限を含む詳細な手順については、「http_requestで外部APIsを呼び出す (レガシー)」を参照してください。
ノートブックの例
以下のノートブックでは、Slack、OpenAI、Azure AI Searchに接続するAIエージェントツールの作成方法を説明します。
Slackメッセージングエージェントツール
Microsoft Graph API エージェント ツール
Azure AI Searchエージェントツール
制限事項
- 外部 MCP 接続は、Private Service Connect を使用した仮想プライベートクラウド (VPC) 内のリソースへのプライベート接続をサポートしていません。AI エージェントが VPC 内のリソースに接続する必要がある場合は、サポートチームにお問い合わせください。
その他のリソース
- MCPサービスを使用してエージェントをサードパーティ製ツールに接続して、外部MCPサーバーを登録および管理します。
- Unity Catalog 関数を使用して AI エージェント ツールを作成することで、レガシーな
http_requestアプローチを含め、Unity Catalog 関数ツールを構築できます。 - Unity Catalog ツールをサードパーティの生成AIフレームワークと統合することで、Unity Catalog ツールをLangChain、LlamaIndex、OpenAI、Anthropic とともに使用できます。
- HTTP接続と接続プロキシを構成するために、外部HTTPサービスに接続します。