エージェントをツールに接続します
エージェントをツールに接続すると、テキスト生成に加えて、ドキュメントの検索、テーブルのクエリ、外部APIsの呼び出し、カスタムコードの実行といった実用的な機能が提供されます。
この図は、Databricksがほとんどの統合で推奨するMCPルートを示しています。MCPは、エージェントを外部サービスに接続するいくつかの方法の1つです。MCPサービスに加えて、Unity CatalogのHTTP接続を介してREST APIを直接呼び出すことができます。ユーザーごとの認証にはマネージドOAuthを、エージェントコードからAPIを呼び出すにはUnity Catalog接続プロキシを、またはhttp_request()をラップするUnity Catalog関数ツールを選択します。次の表は、Databricksデータから外部サービスへの各接続方法をまとめたものです。
アプローチ | 推奨されるユースケース |
|---|---|
このアプローチを使用して、すぐに使用できる Genie、Databricks AI Search、Databricks SQL、および Unity Catalog 関数 MCP サーバーで、Databricks データへのクエリを実行し、ガバナンスされた関数を実行します。 | |
このアプローチは、MCP サーバーを公開しているサービスに適用します。自動ツール検出機能と、Unity AI Gateway を介した管理されたアクセスを提供します。 | |
このアプローチをGoogle DriveまたはSharePointの統合に使用します。DatabricksはOAuth資格情報を管理するため、アプリの登録は不要です。 | |
エージェントコードから直接REST APIコールを行うには、外部サービス独自のクライアントSDKを使用します。 | |
|
Databricks データ用のマネージド MCP サーバー
Databricks は、すぐに使用できるマネージド MCP サーバーを提供しており、エージェントはワークスペース内のデータと機能に管理されたアクセス権を持つことができ、構築またはホストするサーバーは不要です。各サーバーには専用の URL と OAuth スコープがあり、Unity Catalog がアクセスを管理します。
- Genie: GenieエージェントおよびUnity Catalogテーブルで構造化データを自然言語でクエリします。
- Databricks AI Search (ベクトル検索) : ベクトル検索インデックス内のドキュメントを検索します。
- Databricks SQL: Unity Catalog テーブルに対して SQL クエリを実行します。
- Unity Catalog関数 : Unity Catalogに登録されているカスタムPythonおよびSQL関数を呼び出します。
サーバー URL、OAuth スコープ、および完全なカタログについては、Databricks マネージド MCP サーバーを参照してください。エージェント コードからこれらのサーバーを呼び出すには、エージェントで MCP サーバーを使用するを参照してください。
外部MCPサーバー
エージェントをSlack、Googleカレンダーなどの外部アプリケーション、またはAPIを持つ任意のサービスに接続します。Databricksは、外部サービスにMCPサーバーがあるかどうか、ユーザーごとの認証が必要かどうか、またはエージェントコードから直接APIsを呼び出すことを好むかどうかに応じて、いくつかの方法を提供しています。すべての方法では、セキュアで管理された資格情報管理を提供し、OAuth 2.0ユーザー間(U2M)認証とマシン間(M2M)認証を含む複数の認証方法をサポートするUnity Catalog HTTP接続に依存します。
外部サービスで MCP サーバーが利用可能な場合、Databricks は Unity Catalog でそれを MCP Service として登録することをお勧めします。MCP サービス は、助成金、ツール選択、サービス ポリシーを備えた Unity AI Gateway を介して、自動ツール検出、ユーザーごとの認証、およびガバナンスを提供します。
- 外部MCPサーバーを登録を参照し、外部MCPサーバーをMCPサービスとして登録して管理します。接続と認証のセットアップについては、ステップ1. 接続の作成を参照してください。
- エージェントフレームワーク(OpenAI Agents SDK、LangGraph、Model Serving)ごとのコード例については、エージェントでのMCPサーバーの使用を参照してください。
Slack、GitHub、Google Driveなどの一般的なSoftware as a Service (SaaS) ツールには、Databricksはセットアップ不要で利用可能なMCPサービスを提供します。Databricksが提供するMCPサービスを参照してください。
マネージドOAuth
Databricksは、選択されたAPIツールプロバイダー向けにマネージドOAuthフローを提供しています。独自のOAuthアプリを登録したり、資格情報を管理したりする必要はありません。Databricksは、開発およびテスト向けにマネージドOAuthを推奨しています。本番運用のユースケースでカスタムOAuth資格情報の生成が必要な場合は、詳細についてプロバイダーのドキュメントを参照してください。
以下の統合では、Databricksがバックエンドで安全に管理および保存するOAuth資格情報が使用されます。
プロバイダー | 構成に関する注意事項 | サポートされているスコープ | 説明 |
|---|---|---|---|
Google Drive API | なし |
| Google Drive ファイルへの読み取り専用アクセス(Google ドキュメントと Google スプレッドシートを含む)。 |
Gmail API | なし |
| Gmailのメッセージ、スレッド、下書き、ラベルへの読み取り専用アクセス。 |
Google Calendar API | なし |
| Google Calendar のイベント、カレンダー、空き時間情報への読み取り専用アクセス。 |
SharePoint API | なし |
| Microsoft Graphを介したSharePointおよびOneDriveファイル、Outlookのメールとカレンダー、およびMicrosoft Teamsのチャット、チャンネル、会議への読み取り専用アクセス。 |
マネージド OAuth を設定するには、 OAuth User to Machine Per User 認証タイプで HTTP 接続を作成し、 OAuth プロバイダー ドロップダウンメニューからプロバイダーを選択します。詳細なステップについては、「外部サービスへの接続を作成する」を参照してください。
プロバイダーは、初回使用時に各ユーザーに認可を求めます。
必要に応じて、マネージドOAuthが使用する次のリダイレクトURIを許可リストに登録します:
クラウド | リダイレクト URI |
|---|---|
AWS |
|
Azure |
|
GCP |
|
Glean、GitHub、Atlassian、Slackなどの公開されたMCPサーバーを持つマネージドOAuthプロバイダーの場合、サーバーをMCPサービスとして登録する際にDatabricksがOAuth認証情報を管理できます。マネージドOAuthプロバイダーを参照してください。
Unity Catalog接続プロキシエンドポイント
Unity Catalog接続プロキシエンドポイントを外部サービス独自のクライアントSDKと組み合わせて、エージェントコードから直接REST APIを呼び出すために使用します。SDKのベースURLをプロキシエンドポイントに指定し、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のないサービスの場合、requests ライブラリをプロキシURLとともに直接使用します:
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"},
)
プロキシエンドポイント、サポートされている認証方法、および接続設定の詳細については、HTTP接続プロキシを介したリクエストの転送を参照してください。
Unity Catalog関数ツール
Databricks は、新しいインテグレーションには MCP サービス または Unity Catalog 接続プロキシの使用を推奨しています。http_request を使用した Unity Catalog 関数ツールは引き続きサポートされていますが、もはや推奨されるアプローチではありません。
外部サービスを呼び出すためにhttp_request()をラップするUnity Catalog関数を作成できます。このアプローチは、Slackにメッセージを投稿する関数のようなSQLベースのツール定義に役立ちます。SQLの例と接続タイプの制限を含む詳細なウォークスルーについては、http_request を使用して外部APIを呼び出す (レガシー) を参照してください。
ノートブックの例
以下のノートブックは、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 関数ツールを構築します。 - LangChain、LlamaIndex、OpenAI、AnthropicでUnity Catalogツールを使用するには、Unity Catalogツールをサードパーティの生成AIフレームワークと統合します。
- 外部HTTPサービスに接続して、HTTP接続と接続プロキシを構成します。