Genie One MCPサーバー
Genie One MCP サーバーは、Databricks が提供するMCPであり、 Genie One でのチャット を活用して、Model Context Protocol (MCP) を介して Genie を会話型ツールとして公開します。MCP クライアントまたはエージェントが自然言語の質問を送信すると、Genie がエンタープライズデータを検索し、SQL を記述して、引用された Databricks ソースへのディープリンクとともに Genie オントロジーに基づく回答を返します。
MCP クライアントまたはエージェントを接続して、Genie の信頼できる知見に基づいてデータに関する質問を行えるようにします。MCP Apps をサポートするクライアントは、Genie の進捗状況、視覚化、結果をインラインで表示するインタラクティブな View をレンダリングできます。
Unity Catalogのアクセス許可は常に適用されるため、ユーザーとエージェントはアクセスを許可されたデータのみをクエリーできます。
ワークスペース全体のアナリティクスにこのサーバーを使用します。自然言語で質問されるビジネス上の問いに対し、データの意味を理解することで正確な回答を提供します。Genieは、管理されたセマンティックレイヤーであるGenie Ontologyを通じて、ビジネス用語、メトリクス定義、およびテーブル関係を解決します。これにより、エージェントが生のテーブルに対して直接SQLを記述するよりも正確な回答が得られます。
Pythonから1つのキュレーション済みGenie Agentをクエリーするには、AI Bridgeツールの例を使用します。MCP上の特定のエージェントをクエリーするには、Genie Agent MCPサーバーを参照してください。MCPを使用せずにアプリケーションからGenie Oneを呼び出すには、Genie One APIを使用します。
要件:
Genie One MCPサーバーを呼び出すには、ユーザーまたはService Principalに以下が必要です:
EXECUTEsystem.ai.genie_one_mcpで。その保護対象のタイプはmcp_serviceです。USE CATALOGsystemカタログと、system.aiスキーマ上のUSE SCHEMA。- ワークスペースへの割り当て。
Databricks CLI を使用して呼び出し元の有効な権限を確認するには、次のコマンドを実行します。
databricks grants get-effective mcp_service system.ai.genie_one_mcp --principal someone@example.com
EXECUTEを付与するには、次をラン。
databricks grants update mcp_service system.ai.genie_one_mcp \
--json '{"changes": [{"principal": "someone@example.com", "add": ["EXECUTE"]}]}'
Databricksが提供するMCPへのアクセスを付与するには、メタストア管理者はまずsystem.aiスキーマで自身にMANAGEを付与する必要があります。MCPを共有するを参照してください。
Unity Gateway経由でのアクセス
Genie One MCP サーバーは、Databricks が提供する MCP であり、system.ai.genie_one_mcp、Unity Gateway を通じて管理されます。
MCPのUnity Gateway URLでMCPを呼び出し、パスに完全修飾 Unity Catalog 名を、oクエリーパラメーターにワークスペースIDを指定します。
https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id>
UI を使用せずにワークスペース ID を取得するには、次のいずれかを使用します。
- ワークスペース URL 内の
o=値。 - 任意の Databricks REST API レスポンスの
x-databricks-org-idヘッダー。 WorkspaceClient().get_workspace_id()Databricks SDK for Pythonの場合。
ユーザー代理認証を使用して接続する場合は、ai-gateway OAuthスコープを含めてください。アクセスを制御し、ポリシーを適用するには、「MCPを管理する」をご覧ください。エージェントにMCPを追加するには、「PythonエージェントからMCPツールを呼び出す」をご覧ください。CursorやClaude Desktopなどの外部クライアントを接続するには、「サポートされているコーディングエージェントとワークエージェント」をご覧ください。
非推奨
ベータ版Endpoint https://<workspace-hostname>/api/2.0/mcp/genie は非推奨となっており、2026年11月30日にサポートが終了します。その日付以降、ベータ版Endpointへのリクエストは失敗します。それまでに、すべてのワークロードを一般公開されている system.ai.genie_one_mcp MCP に移行してください。
ツール名と引数は、両方のEndpointで同じです。Beta endpointからクライアントを移動するには、MCP設定を更新します。
- サーバーのURLを
https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id>に置き換えます。 - クライアントがOAuthを使用する場合は、
genieスコープの代わりにai-gatewayスコープを要求してください。 - 呼び出し元が 「要件」 の権限を持っていることを確認してください。
AI エージェントを Genie One MCP に接続する
コーディングエージェントまたは他の MCP クライアントを接続するには、Unity Gateway MCP URL https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id> に接続するようにクライアントを構成します。コーディングエージェント または 他の MCP クライアント の設定に従ってください。
MCP とそのURLを表示するには、ワークスペースに移動し、 Unity Gateway > MCPs を選択します。REST API で Databricks 提供の MCP を一覧表示するには、 GET /api/2.1/unity-catalog/mcp-services?parent=schemas/system.ai を呼び出します。MCP の検索を参照してください。
MCP SDKを使用してPythonから呼び出す
サーバーはストリーミング可能なHTTP転送を使用し、Authorization: Bearer <token>ヘッダーでDatabricksトークンを受け入れます。以下の例では、MCP Python SDKとDatabricks SDK for Pythonを使用して質問をし、Genieが終了するまでポーリングし、同じ会話でフォローアップの質問をします。
パッケージをインストールします:
pip install mcp databricks-sdk
例をランします。
import asyncio
from databricks.sdk import WorkspaceClient
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamablehttp_client
w = WorkspaceClient()
url = (
f"{w.config.host}/ai-gateway/mcp-services/system.ai.genie_one_mcp"
f"?o={w.get_workspace_id()}"
)
async def ask(session, question, conversation_id=None):
args = {"question": question}
if conversation_id:
args["conversation_id"] = conversation_id
state = (await session.call_tool("genie_ask", args)).structuredContent
# Poll until Genie finishes: completed, incomplete, or failed.
while state["status"] == "in_progress":
poll = await session.call_tool(
"genie_poll_response",
{
"conversation_id": state["conversation_id"],
"response_id": state["response_id"],
},
)
state = poll.structuredContent
return state
async def main():
# w.config.authenticate() returns {"Authorization": "Bearer <token>"}.
async with streamablehttp_client(url, headers=w.config.authenticate()) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print([tool.name for tool in tools.tools])
first = await ask(session, "What were total sales last month?")
print(first["status"], first.get("final_answer"))
follow_up = await ask(
session, "Break that down by region.", first["conversation_id"]
)
print(follow_up["status"], follow_up.get("final_answer"))
asyncio.run(main())
この例では進行状況通知を要求しないため、genie_askはstatus: in_progressで直ちに返され、クライアントは回答についてgenie_poll_responseをポーリングします。
ChatGPT、Claude、Grok Bot/Cursor用のDatabricks Genieプラグイン
Databricks Genie プラグインは、ChatGPT、Claude、および Grok Bot/Cursor を Genie One MCP に接続します。default OAuth アプリを使用するため、ユーザーは Databricks アカウントでサインインし、管理者は OAuth アプリを作成する必要はありません。
まず、管理者がプラグインをセットアップします。次に、各ユーザーがそれに接続し、サインインします。
ワークスペースでインバウンドネットワークアクセスが制限されている場合、Databricks管理者がChatGPTまたはClaudeのトラフィックを許可する必要があります。そうしないと、プラグインは接続できません。「 コンテキストベースのイングレスポリシーでのパートナープラットフォームの許可」を参照してください。
- ChatGPT
- Claude
- Grok Bot/Cursor
プラグインをセットアップするには、ChatGPT 管理者が次の手順を実行します:
- ChatGPTのワークスペース設定で、 プラグイン をクリックします。
- Databricks Genie を検索します。
- Templateから作成 をクリックします。
- Databricks ワークスペースの URL を入力します。カスタム URLを使用する場合は、ワークスペース ID を
?o=<workspace-id>として含めてください。 - 「 下書きを作成 」をクリックします。
- 「 公開 」をクリックします。
接続するために、各ユーザーは以下の手順を実行します。
- ChatGPTで、 Plugins ページを開きます。
- Databricks Genie を検索します。
- 管理者が設定したプラグインの「 接続 」をクリックします。
- ChatGPTからリダイレクトされたら、Databricksアカウントでサインインしてください。
情報については、ChatGPT Genie プラグインを参照してください。
コネクタをセットアップするには、Claude管理者が次の操作を行います:
-
Claudeで、 Customize をクリックします。
-
Databricks Genie を検索します。
-
「 チーム用に接続 」をクリックします。
-
ワークスペースのGenie One MCP URLを入力します:
Texthttps://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id> -
接続 をクリックします。
接続するために、各ユーザーは以下の手順を実行します。
- Claudeで、 Customize をクリックします。
- Databricks Genie を検索します。
- 接続 をクリックします。
- Claudeがリダイレクトされたら、Databricksアカウントでサインインします。
情報については、Claude Genie コネクタを参照してください。
プラグインをセットアップするには、Cursorチーム管理者が以下の操作を行います。
- Cursorダッシュボードで、Connectorsページを開きます。
- Databricks Genie を検索します。
- Databricks ワークスペースの URL を入力します。カスタム URLを使用する場合は、ワークスペース ID を
?o=<workspace-id>として含めてください。 - 「 公開 」をクリックします。
接続するために、各ユーザーは以下の手順を実行します。
- Grok Bot/Cursorで、サイドバーから アプリの接続 を開きます。
- Databricks Genie を検索して追加します。
- Grok Bot/Cursor が 承認 を求めてきたら、Databricks アカウントでサインインします。
- Databricks Genie が インストール済み の下に表示されていることを確認します。
情報については、 Grok Botドキュメントの「 アプリの接続」を参照してください。
利用可能なツール
Genie One MCPサーバーは、以下のツールを公開します。実際には、エージェントは genie_ask (またはMCP Appsクライアント上の view_ask) を呼び出して質問を行います。エージェントは、回答を作成する過程で、残りのツールをユーザーの代わりに管理します。
ツール | 説明 |
|---|---|
| Genieに自然言語でデータに関する質問をして、回答を起動します。 |
| 進行中または完了した応答の最新状態を取得します。これには、進捗ステップ、最終的な回答、および Databricks ソースへのディープLinkが含まれます。 |
| Genieが実行したクエリーについて、カラムのスキーマと行を含む完全なSQL結果をフェッチします。 |
| 実行中の Genie ターンのキャンセルをリクエストします。 |
| Genie に質問して、インタラクティブなビューを開きます。MCP Apps クライアントに対して |
質問を入力
Genie はデータを検索して SQL をランするエージェントをランするため、回答は非同期になります。あなた(またはエージェント)が質問を伴って genie_ask を呼び出すと、エージェントがその後のやり取りを自動的に管理します。一般的なフローは次のようになります。
genie_ask応答を起動し、conversation_idおよびresponse_idをstatus: in_progressとともに返します。Genieはバックグラウンドで動作し続けます。- エージェントは応答が完了するまで
genie_poll_responseをポーリングし、その過程でprogress_stepsとnarration_instructionを表示して状況を通知します。 statusがcompleted(またはincomplete/failed) の場合、エージェントはレンダリングされた回答を返します。これには、完全な会話への Explore in Databricks ディープLinkと、Genie が生成した視覚化が含まれます。
同じ会話を続けるために、フォローアップの質問では以前の conversation_id を再利用します。
MCPアプリ
Genie One MCPサーバーは、サーバーがプレーンテキストの代わりにインタラクティブなビューを返せるようにする拡張機能である MCP App を提供します。MCPアプリをサポートするクライアントでは、サーバーはインタラクティブな View を返します。これは、テキストのみの返信ではなく、会話の進行に合わせてGenieの進捗状況、可視化、最終的な回答を表示するクライアント埋め込み型のパネルです。

Claude Desktop 内で棒グラフ、サマリーメトリクス、および Genie Ontology の引用を表示する Genie One MCP アプリ。
追加のセットアップは不要です。MCPアプリをサポートするクライアントは、自動的にインタラクティブなビューを取得します。テキスト結果の受信を継続しないクライアント。
考慮事項
- 権限 : Unity Catalog の権限はすべてのリクエストで適用されるため、結果はユーザーがアクセスできる範囲に限定されます。
- ユーザー認証 :データガバナンスのベストプラクティスに従い、Genieのソースへスムーズに移動できるユーザーに代わって行うOAuth認証をおすすめします。プログラムによるワークロードや自動化されたワークロードでは、Service Principal認証もサポートされています。
Authorization: Bearerヘッダーで送信されるDatabricksトークンは、OAuthユーザー対マシン(U2M)、OAuthマシン対マシン(M2M)、個人用アクセストークンなど、いずれも使用できます。そのため、ブラウザーでのOAuthフローは必要ありません。サポートされているインバウンド認証を参照してください。 - 構成 : サーバーは、Databricks 内の Genie One 構成を尊重します。そこで Genie の動作を調整および構成します。Chat in Genie One を参照してください。
- ポーリング間隔 : 前の
genie_poll_response呼び出しが完了するのを待ってから、再度ポーリングします。 - 結果サイズ :モデルのコンテキストウィンドウを保護するため、
genie_askおよびgenie_poll_responseは切り捨てられたクエリー結果を返します。エージェントが完全な結果を必要とする場合、genie_get_query_resultを呼び出して完全なスキーマと行を取得できます。非常に大きな結果には依然としてサイズ制限が適用されます。制限を超えた場合、応答は切り捨てられます。 - SQL Warehouse :特定のSQL Warehouseでクエリーをランするには、
genie_askまたはview_askの_metaパラメーターでwarehouse_idを渡します。 - 価格 : Genie One MCPサーバーは Genie Oneでのチャットを使用します。Genieの価格を参照してください。
トラブルシューティング
Routine or Model ... does not existまたはMCP is not a valid securable typeで権限を確認または付与する場合 : セキュアブル タイプとしてmcp_serviceを使用します。functionまたはmcpは使用しないでください。function型とmcp型は MCP を解決しません。genie_poll_responseは応答が完了した後にquery_itemsを返しません : ポーリングテキストの末尾にあるTool-call IDsコメントからitem_idを取得するか、応答の送信中に以前のポーリングからstructuredContent.query_items[].item_idをキャプチャします。item_idはgenie_get_query_resultで解決されません :有効なitem_idはpub_..._outputのような形式です。結果テーブルのコメントマーカーにあるquery_...埋め込みIDをitem_idとして渡さないでください。解決されないためです。
その他のリソース
- コーディングエージェントを接続するためのサポートされるコーディングエージェントおよびワークエージェント。
- Claude、ChatGPT、またはその他のクライアントを接続するためのその他の MCP クライアント。
- コードでビルドするエージェントにGenie One MCPを追加してデプロイするには、PythonエージェントからMCPツールを呼び出すを参照してください。
- MCPを管理して、アクセスを許可し、ポリシーを適用します。
- Databricks での MCP の概要については、 MCPs を参照してください。