Important
この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Azure Databricks プレビューの管理を参照してください。
モデル コンテキスト プロトコル (MCP) をサポートする非 Databricks (外部) クライアント、AI アシスタント、IDE を Databricks MCP サーバーに接続します。 これにより、開発環境で Databricks のデータとツールに直接アクセスできます。
外部クライアントを Databricks MCP サーバーに接続すると、次のことができます。
- IDE または AI アシスタントから Unity カタログの関数、テーブル、ベクター インデックスにアクセスする
- Claude、Cursor、Replit、またはその他の MCP 対応ツールから Databricks データに直接クエリを実行する
Prerequisites
- サーバー URL: 使用する Databricks MCP サーバーの適切なサーバー URL を取得します。
- リソース アクセス: 使用する MCP サーバーと基になるリソースへのアクセス権があることを確認します。 たとえば、Genie マネージド MCP サーバーを使用する場合は、基になる Genie 領域にアクセスする必要があります。
-
ネットワーク アクセス: Databricks ワークスペースに IP アクセス制限がある場合は、クライアントの送信 IP アドレスを許可リストに追加して、ワークスペースに接続できるようにします。
- ワークスペース IP アクセス リストとアカウント IP アクセス リストのドキュメントに従って、制限が適用されているかどうかを確認します
- IP アクセス リストが有効になっている場合は、クライアントの送信 IP を識別します。 通常、この情報はクライアント ドキュメントで入手できます。たとえば、Claude は送信 IP アドレスを ここに文書化します。
- クライアントの送信 IP が一覧に追加されていることを確認します。
認証方法
セキュリティ要件に最適な認証方法を選択します。
| メソッド | マネージド/外部 MCP | カスタム MCP | セキュリティ レベル | 最適な用途 |
|---|---|---|---|---|
| OAuth (推奨) | サポートされています | サポートされています | 高いスコープのアクセス許可、トークンの自動更新 | 運用環境、チーム環境、長期アクセス |
| 個人用アクセス トークン | サポートされています | サポートされていません | 中 - 有効期限が切れるトークンベースのアクセス | 個々の開発、テスト、短期アクセス |
OAuth 認証を使用してクライアントを接続する
OAuth は、スコープ付きアクセス許可とトークンの自動更新を使用してセキュリティで保護された認証を提供します。
注
Databricks MCP サーバーは、 MCP 承認仕様に従って両方のクライアントの種類をサポートします。
- パブリック クライアント: クライアント シークレットは必要ありません
- 機密クライアント: クライアント シークレットを含める
クライアントの OAuth リダイレクト URL を取得する
各 MCP クライアントには、認証コールバック用の特定の OAuth リダイレクト URL が必要です。 一般的なリダイレクト URL パターンは次のとおりです。
-
Web ベースのクライアント:
https://<domain>/oauth/callbackまたはhttps://<domain>/api/mcp/auth_callback -
ローカル開発ツール:
http://localhost:<port>/oauth/callback
クライアントのドキュメントを調べて、必要な正確なリダイレクト URL を見つけます。
Databricks OAuth アプリケーションを作成する
アカウント管理者に Databricks OAuth アプリケーションを作成してもらう。 クライアント ID を取得し、クライアントが必要とする場合はクライアント シークレットを取得します。
UI ベース (アカウント コンソール)
アカウント コンソールを使用して Databricks OAuth アプリケーションを作成します。
Databricks アカウント コンソールで、[設定]> [App Connections>Add connection] に移動します。
アプリケーション設定を構成します。
-
名前: OAuth アプリケーションのわかりやすい名前を入力します (例:
claude-mcp-client、mcp-inspector) - リダイレクト URL: 外部クライアントに必要なリダイレクト URL を追加する
- クライアントの種類: パブリック クライアント (ブラウザーベース、モバイル) の場合は、[ クライアント シークレットの生成] をオフにします。 機密クライアント (サーバー側) の場合は、オンのままにします。
- スコープ: API スコープを構成する (後述の OAuth スコープの構成を 参照)
- トークンの有効期限: 適切なトークン アクセスと更新時間を設定する
-
名前: OAuth アプリケーションのわかりやすい名前を入力します (例:
CLI
Databricks CLI を使用して Databricks OAuth アプリケーションを作成します。
databricks account custom-app-integration create --json '{
"name": "mcp-oauth-client",
"redirect_urls": ["https://<your-client-redirect-url>"],
"confidential": false,
"scopes": ["all-apis"],
"token_access_policy": {
"access_token_ttl_in_minutes": 60,
"refresh_token_ttl_in_minutes": 10080
}
}'
<your-client-redirect-url>をクライアントの実際のリダイレクト URL に置き換えます。
OAuth スコープを構成する
OAuth スコープは、クライアントがアクセスできる Databricks API を制御します。 ほとんどのユース ケースでは、すべての Databricks API へのアクセスを許可する all-apis スコープを使用します。これは最も簡単なオプションです。
より詳細な制御を行うには、 all-apisの代わりに MCP 固有のスコープを指定できます。
| MCP サーバーの種類 | 必要なスコープ |
|---|---|
| MCP Genie スペース | mcp.genie |
| MCP Unity カタログ関数 | mcp.functions |
| MCP ベクター検索 | mcp.vectorsearch |
| MCP Databricks SQL |
mcp.sql、 sql.warehouses、 sql.statement-execution |
| MCP 外部関数 | mcp.external |
REST API スコープの宣言とエージェントでの使用の詳細については、「エージェントの ログ記録時に REST API スコープを宣言する」を参照してください。
ネットワーク アクセスの構成 (省略可能)
Databricks ワークスペースに IP アクセス制限がある場合は、クライアントの送信 IP アドレスをワークスペースの許可リストに追加します。 それ以外の場合、ワークスペースはクライアントからの認証要求をブロックします。 IP アクセス リストの管理を参照してください。
クライアントを構成する
Databricks で OAuth アプリケーションを作成した後、OAuth 資格情報を使用して特定の MCP クライアントを構成します。 各クライアントには、独自の構成方法があります。 一般的な MCP クライアントの詳細な手順については、次のプラットフォーム固有の例を参照してください。
OAuth の例
次の例では、OAuth 認証を使用して特定の MCP クライアントを構成する方法を示します。 前のセクションの一般的な OAuth セットアップ手順に従い、次にこれらの例を使用して特定のクライアントを構成します。
MCP インスペクター
MCP インスペクターは、MCP サーバーをテストおよびデバッグするための開発者ツールです。
上記の OAuth 認証の設定 に従って、インスペクター固有の設定を実行します。
-
リダイレクト URL:
http://localhost:6274/oauth/callbackhttp://localhost:6274/oauth/callback/debug
- クライアントの種類: パブリック ([ クライアント シークレットの生成] チェック ボックスをオフ)
MCP Inspector の構成:
- インスペクターを実行します:
npx @modelcontextprotocol/inspector。 -
トランスポートの種類を
Streamable HTTPに設定します。 - Databricks MCP サーバーの URL を入力します。
- [ 認証 ] セクションで、OAuth クライアント ID を追加します。
- [ 認証設定を開く] をクリックし、[ ガイド付き フロー] または [クイック フロー] を選択します。
- 認証が成功したら、アクセス トークンを [API トークン認証] セクションのベアラー トークンに貼り付けます。
- [接続] をクリックします。
Claude コネクタ
Claude コネクタとリモート MCP を使用して、 Claude を Databricks マネージドおよび外部 MCP サーバーに接続します。
上記の OAuth 認証の設定 に従い、次の Claude 固有の設定を使用します。
-
リダイレクト URL:
https://claude.ai/api/mcp/auth_callbackとhttps://claude.com/api/mcp/auth_callback - IP 許可リスト (必要な場合): Claude の送信 IP アドレスを追加します
Claude を構成します。
- Claude の [設定] >Connectors に移動します。
- [ カスタム コネクタの追加] をクリックします。
- Databricks MCP サーバーの URL を入力します。
- OAuth アプリケーションのクライアント ID を入力します。
- [ 追加] をクリックして完了します。
ChatGPT アプリ
開発者モードと完全な MCP アプリを使用して、カスタム ChatGPT アプリを使用して、Databricks マネージドおよび外部 MCP サーバーに ChatGPT を接続します。
カスタム ChatGPT アプリを追加するには、次のものが必要です。
- 開発者モードが有効になっている
- ChatGPT Business、Enterprise、または Edu のワークスペース
上記の OAuth 認証の設定 に従って、ChatGPT 固有の設定を実行します。
-
リダイレクト URL:
https://chatgpt.com/connector_platform_oauth_redirect - IP 許可リスト: ChatGPT の送信 IP アドレスを追加する
ChatGPT を構成する:
- ChatGPT で、[>Apps>Create App に移動します。
- Databricks MCP サーバーの URL を入力します。
- 認証方法として OAuth を使用します。
- OAuth アプリケーションのクライアント ID とシークレット (該当する場合) を入力します。
- 構成を完了し、アプリを保存します。
カスタム ChatGPT アプリは、プライベート リンク フロントエンドまたはバックエンドで構成された Azure ワークスペースをサポートしていません。
カーソル/ウィンドサーフ
Cursor や Windsurf などのローカル IDE を Databricks MCP サーバーに安全に接続するには、OAuth で mcp-remote を使用します。
mcp-remote リポジトリの指示に従って、mcp-remote を設定します。 次に、 OAuth 認証のセットアップ に従って、OAuth が正しく設定されていることを確認します。
カーソルまたはウィンドサーフィンの構成:
MCP 構成ファイルを見つけます。
-
カーソル:
~/.cursor/mcp.json -
ウィンドサーフィン:
~/.codeium/windsurf/mcp_config.json
-
カーソル:
構成ファイルに、 MCP サーバーを追加します。
機密性の高い OAuth クライアント (クライアント シークレットを含む) の場合:
{ "mcpServers": { "databricks-mcp-server": { "command": "npx", "args": [ "mcp-remote", "https://<your-workspace-hostname>/api/2.0/mcp/functions/system/ai", "--static-oauth-client-info", "{ \"client_id\": \"$MCP_REMOTE_CLIENT_ID\", \"client_secret\": \"$MCP_REMOTE_CLIENT_SECRET\" }" ] } } }パブリック OAuth クライアントの場合 (クライアント シークレットなし):
{ "mcpServers": { "databricks-mcp-server": { "command": "npx", "args": [ "mcp-remote", "https://<your-workspace-hostname>/api/2.0/mcp/functions/system/ai", "--static-oauth-client-info", "{ \"client_id\": \"$MCP_REMOTE_CLIENT_ID\" }" ] } } }<your-workspace-hostname>を Databricks ワークスペースのホスト名に置き換えます。OAuth クライアント ID を使用して環境変数
MCP_REMOTE_CLIENT_IDを設定します。 機密クライアントの場合は、クライアント シークレットでMCP_REMOTE_CLIENT_SECRETも設定します。
個人用アクセス トークン (PAT) 認証を使用してクライアントを接続する
個人用アクセス トークンは、Databricks MCP サーバーへの個々の開発、テスト、および短期的なアクセスに適した、よりシンプルな認証方法を提供します。
注
個人用アクセス トークンは、管理対象および外部の MCP サーバーでのみサポートされます。 カスタム MCP サーバーには OAuth 認証が必要です。
Databricks ワークスペースで個人用アクセス トークンを生成します。 「Azure Databricks の個人用アクセス トークン (レガシ) を使用した認証」を参照してください。
ネットワーク アクセスを構成します (省略可能)。
Databricks ワークスペースに IP アクセス制限がある場合は、クライアントの送信 IP アドレスを許可リストに追加します。 必要な IP アドレスを取得するには、クライアントのドキュメントまたはデプロイ環境のネットワーク構成を参照してください。
クライアントを構成します。
PAT を生成したら、認証に使用するように MCP クライアントを構成します。 各クライアントには、独自の構成方法があります。 一般的な MCP クライアントの詳細な手順については、以下のプラットフォーム固有の例を参照してください。
PAT の例
次の例は、個人用アクセス トークン認証を使用して特定の MCP クライアントを構成する方法を示しています。 最初に上記の PAT 認証の設定に従い、これらの例を使用して特定のクライアントを構成します。
Cursor
カーソル は、設定構成によって MCP をサポートします。
カーソルの設定を開きます。
次の構成を追加します ( 選択した MCP サーバーの URL を調整します)。
{ "mcpServers": { "uc-function-mcp": { "type": "streamable-http", "url": "https://<your-workspace-hostname>/api/2.0/mcp/functions/{catalog_name}/{schema_name}", "headers": { "Authorization": "Bearer <YOUR_TOKEN>" }, "note": "Databricks UC function" } } }<your-workspace-hostname>を Databricks ワークスペースのホスト名に置き換えます。<YOUR_TOKEN>を個人用アクセス トークンに置き換えます。
Claude デスクトップ
Claude Desktop は、 mcp-remote を使用して Databricks MCP サーバーに接続できます。
claude_desktop_config.jsonファイルを見つけてください。-
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json -
Windows:
%APPDATA%\Claude\claude_desktop_config.json
-
macOS:
次の構成を追加します ( 選択した MCP サーバーの URL を調整します)。
{ "mcpServers": { "uc-function-mcp": { "command": "npx", "args": [ "mcp-remote", "https://<your-workspace-hostname>/api/2.0/mcp/functions/{catalog_name}/{schema_name}", "--header", "Authorization: Bearer <YOUR_TOKEN>" ] } } }<your-workspace-hostname>を Databricks ワークスペースのホスト名に置き換えます。<YOUR_TOKEN>を個人用アクセス トークンに置き換えます。変更を有効にするには、Claude Desktop を再起動します。
Replit
Replit では、カスタム MCP サーバー構成を使用した Databricks MCP サーバーへの接続がサポートされています。
Replit ワークスペースで、[ MCP サーバーの追加] をクリックします。
Databricks MCP サーバーの URL を入力します。次に例を示します。
https://<your-workspace-hostname>/api/2.0/mcp/genie/{genie_space_id}カスタム ヘッダーを追加します。
-
キー:
Authorization -
値:
Bearer <YOUR_TOKEN>
-
キー:
接続の問題のトラブルシューティング
一般的な接続の問題を診断して解決するには、次のトラブルシューティング手順に従います。
認証を検証する
接続をテストする前に、認証資格情報が正しく構成されていることを確認します。
サービス プリンシパル (M2M)
マシン間 (M2M) OAuth によるサービス プリンシパル認証の場合は、Databricks CLI を使用して資格情報をテストします。
DATABRICKS_CLIENT_ID=<your-client-id> DATABRICKS_CLIENT_SECRET=<your-client-secret> databricks auth describe
このコマンドは、サービス プリンシパルの構成を検証し、認証された ID に関する情報を表示します。 コマンドからエラーが返された場合は、サービス プリンシパルのセットアップを確認し、次のことを確認します。
- Databricks アカウントにサービス プリンシパルが作成されました
- クライアント ID とクライアント シークレットが正しく構成されている
- サービス プリンシパルには、必要なリソースにアクセスするための適切なアクセス許可があります
OAuth ユーザーからマシンへの接続 (U2M)
OAuth ユーザー対マシン (U2M) 認証の場合は、MCP Inspector との 接続をテストします 。 OAuth フローは、接続プロセス中に資格情報を検証します。
ネットワーク構成を確認する
ネットワーク制限により、外部クライアントが Databricks ワークスペースに接続できなくなる可能性があります。 クライアントが Databricks アカウントとワークスペースに接続できるように、Databricks IP アクセス リスト ポリシーが構成されていることを確認します。 「前提条件」を参照してください。
Databricks サポートに問題を報告する
これらのトラブルシューティング手順を完了した後も接続の問題が引き続き発生する場合:
エラー メッセージとスタック トレースについては、MCP クライアント (Claude、Cursor、MCP Inspector など) のログを確認します。
次の診断情報を収集します。
- 使用される認証方法 (OAuth または PAT)
- MCP サーバー URL
- クライアントからのエラー メッセージ
- ネットワーク構成の詳細 (IP 制限、ファイアウォール規則)
問題を解決するには、サポートに連絡して診断情報を共有してください。
制限事項
- 動的クライアント登録: Databricks では、マネージド、外部、またはカスタム MCP サーバーの 動的クライアント登録 OAuth フローはサポートされていません。 動的クライアント登録を要求する外部クライアントと IDE は、OAuth 認証を使用してサポートされていません。
- カスタム MCP サーバーの個人用アクセス トークンのサポート: Databricks Apps でホストされているカスタム MCP サーバーは、認証用の個人用アクセス トークンをサポートしていません。
- 代理承認: Databricks Apps でホストされているカスタム MCP サーバーは、ユーザーの代理承認をサポートしていません。
次のステップ
- マネージド MCP サーバーを使用して エージェントを Unity Catalog データに接続する
- 外部 MCP サーバーを使用して サード パーティのサービスにアクセスする
- 組織固有のツール用にカスタム MCP サーバーをホストする