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

エージェントをツールに接続する

エージェントをツールに接続すると、テキスト生成以外の実用的な機能(ドキュメントの検索、テーブルのクエリ、外部 APIs の呼び出し、カスタムコードの実行など)が提供されます。

LangGraphやOpenAI SDKなどのフレームワークで構築されたエージェントコード、およびClaude CodeやCursorのようなコーディングアシスタントは、Databricks内の3つの管理されたルートを通じてMCP上でツールを呼び出します。GitHubやSlackなどのサードパーティツール向けのMCPサービス、カスタムツール向けのDatabricks Appsでホストされた独自のMCPサーバー、およびDatabricksデータとコード向けのマネージドMCPサーバーです。これらはすべて、権限、ポリシー、監査によりUnity Catalogで管理されています。

この図は、Databricksがほとんどの統合に推奨するMCPルートを示しています。MCPは、エージェントを外部サービスに接続するいくつかの方法の1つです。MCPサービスに加えて、Unity CatalogのHTTP接続を介してREST APIsを直接呼び出すことができます。ユーザーごとの認証にはマネージドOAuthを選択し、エージェントコードからAPIsを呼び出すにはUnity Catalog接続プロキシ、またはhttp_request()をラップするUnity Catalog関数ツールを選択します。次の表は、Databricksデータから外部サービスへの各接続方法をまとめたものです。

アプローチ

推奨ユースケース

Databricksデータ向けマネージドMCPサーバー

Databricks データへのクエリー実行や、既製の Genie、Databricks AI Search、Databricks SQL、Unity Catalog 関数 MCP サーバーによるガバナンスされた関数の実行には、このアプローチを使用してください。

外部MCPサーバー

MCPサーバーを公開するサービスには、この方法を使用してください。Unity AIゲートウェイを通じて、自動ツール検出と管理されたアクセスを提供します。

Managed OAuth

このアプローチは、Google Drive または SharePoint の統合に適用されます。DatabricksがOAuth認証情報を管理するため、アプリの登録は不要です。

Unity Catalog接続プロキシ

このアプローチを使用して、外部サービスの独自のクライアントSDKでエージェントコードから直接REST APIコールを行います。

Unity Catalog 関数ツール

http_request() 関数をラップするSQLベースのツール定義には、このアプローチを使用します。

アプローチ

推奨ユースケース

Databricksデータ向けマネージドMCPサーバー

Databricks データへのクエリー実行や、既製の Genie、Databricks AI Search、Databricks SQL、Unity Catalog 関数 MCP サーバーによるガバナンスされた関数の実行には、このアプローチを使用してください。

外部MCPサーバー

MCPサーバーを公開するサービスには、この方法を使用してください。Unity AIゲートウェイを通じて、自動ツール検出と管理されたアクセスを提供します。

Managed OAuth

このアプローチは、Google Drive または SharePoint の統合に適用されます。DatabricksがOAuth認証情報を管理するため、アプリの登録は不要です。

Unity Catalog接続プロキシ

このアプローチを使用して、外部サービスの独自のクライアントSDKでエージェントコードから直接REST APIコールを行います。

Unity Catalog 関数ツール

http_request() 関数をラップするSQLベースのツール定義には、このアプローチを使用します。

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を介したガバナンスを提供します。

Slack、GitHub、Google Drive などの一般的なソフトウェアとしてのサービス (SaaS) ツールには、Databricks が設定不要ですぐに使える MCP サービスを提供しています。「Databricks提供のMCPサービス」を参照してください。

管理型 OAuth

Databricksは、一部のAPIツールプロバイダー向けにマネージドOAuthフローを提供しています。独自のOAuthアプリを登録したり、認証情報を管理したりする必要はありません。Databricksは、開発およびテストにはマネージドOAuthを推奨しています。本番運用のユースケースでカスタムOAuth認証情報の生成が必要な場合は、詳細についてプロバイダーのドキュメントを参照してください。

次の統合は、Databricks がバックエンドで安全に管理および保存するOAuth資格情報を使用します。

プロバイダー

構成に関する注意事項

サポートされているスコープ

説明

Google Drive API

なし

https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access

Google ドキュメントと Google スプレッドシートを含む Google Drive ファイルへの読み取り専用アクセス。

Gmail API

なし

https://www.googleapis.com/auth/gmail.readonly offline_access

Gmailのメッセージ、スレッド、下書き、ラベルへの読み取り専用アクセス。

Google Calendar API

なし

https://www.googleapis.com/auth/calendar.readonly offline_access

Googleカレンダーのイベント、カレンダー、および空き時間情報への読み取り専用アクセス。

SharePoint API

なし

https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadBasic.All https://graph.microsoft.com/Sites.Read.All https://graph.microsoft.com/Files.Read https://graph.microsoft.com/Files.Read.All https://graph.microsoft.com/Mail.Read https://graph.microsoft.com/Mail.ReadBasic https://graph.microsoft.com/Mail.Read.Shared https://graph.microsoft.com/MailboxFolder.Read https://graph.microsoft.com/MailboxItem.Read https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Calendars.Read.Shared https://graph.microsoft.com/Chat.Read https://graph.microsoft.com/Chat.ReadBasic https://graph.microsoft.com/ChatMember.Read https://graph.microsoft.com/ChatMessage.Read https://graph.microsoft.com/Channel.ReadBasic.All https://graph.microsoft.com/ChannelMessage.Read.All https://graph.microsoft.com/OnlineMeetings.Read https://graph.microsoft.com/OnlineMeetingTranscript.Read.All https://graph.microsoft.com/OnlineMeetingAiInsight.Read https://graph.microsoft.com/OnlineMeetingArtifact.Read.All https://graph.microsoft.com/OnlineMeetingRecording.Read.All offline_access openid profile email

Microsoft Graphを介したSharePointおよびOneDriveファイル、Outlookメールとカレンダー、Microsoft Teamsチャット、チャンネル、および会議への読み取り専用アクセス。

プロバイダー

構成に関する注意事項

サポートされているスコープ

説明

Google Drive API

なし

https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access

Google ドキュメントと Google スプレッドシートを含む Google Drive ファイルへの読み取り専用アクセス。

Gmail API

なし

https://www.googleapis.com/auth/gmail.readonly offline_access

Gmailのメッセージ、スレッド、下書き、ラベルへの読み取り専用アクセス。

Google Calendar API

なし

https://www.googleapis.com/auth/calendar.readonly offline_access

Googleカレンダーのイベント、カレンダー、および空き時間情報への読み取り専用アクセス。

SharePoint API

なし

https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadBasic.All https://graph.microsoft.com/Sites.Read.All https://graph.microsoft.com/Files.Read https://graph.microsoft.com/Files.Read.All https://graph.microsoft.com/Mail.Read https://graph.microsoft.com/Mail.ReadBasic https://graph.microsoft.com/Mail.Read.Shared https://graph.microsoft.com/MailboxFolder.Read https://graph.microsoft.com/MailboxItem.Read https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Calendars.Read.Shared https://graph.microsoft.com/Chat.Read https://graph.microsoft.com/Chat.ReadBasic https://graph.microsoft.com/ChatMember.Read https://graph.microsoft.com/ChatMessage.Read https://graph.microsoft.com/Channel.ReadBasic.All https://graph.microsoft.com/ChannelMessage.Read.All https://graph.microsoft.com/OnlineMeetings.Read https://graph.microsoft.com/OnlineMeetingTranscript.Read.All https://graph.microsoft.com/OnlineMeetingAiInsight.Read https://graph.microsoft.com/OnlineMeetingArtifact.Read.All https://graph.microsoft.com/OnlineMeetingRecording.Read.All offline_access openid profile email

Microsoft Graphを介したSharePointおよびOneDriveファイル、Outlookメールとカレンダー、Microsoft Teamsチャット、チャンネル、および会議への読み取り専用アクセス。

マネージドOAuthを設定するには、**OAuth User to Machine Per User**認証タイプでHTTP接続を作成し、**OAuth Provider**ドロップダウンメニューからプロバイダーを選択します。 詳細なステップについては、「外部サービスへの接続を作成する」を参照してください。

プロバイダーは、各ユーザーに初回使用時に認証するよう促します。

必要に応じて、マネージド OAuth が使用する次のリダイレクト URI を許可リストに登録します。

クラウド

リダイレクトURI

AWS

https://oregon.cloud.databricks.com/api/2.0/http/oauth/redirect

Azure

https://westus.azuredatabricks.net/api/2.0/http/oauth/redirect

GCP

https://us-central1.gcp.databricks.com/api/2.0/http/oauth/redirect

クラウド

リダイレクトURI

AWS

https://oregon.cloud.databricks.com/api/2.0/http/oauth/redirect

Azure

https://westus.azuredatabricks.net/api/2.0/http/oauth/redirect

GCP

https://us-central1.gcp.databricks.com/api/2.0/http/oauth/redirect

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権限。

DatabricksOpenAIを使用して、Unity Catalog接続プロキシを介して外部OpenAIへの呼び出しをルーティングします。まず、Databricksシークレットとして保存されているOpenAI APIキーを使用してUnity Catalog HTTP接続を作成します。

SQL
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とワークスペースクライアントを使用します。

Bash
pip install databricks-openai
Python
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)

プロキシ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 内のリソースに接続する必要がある場合は、サポートチームにお問い合わせください。

その他のリソース