Serveur MCP Genie One
Le serveur MCP Genie One est un MCP fourni par Databricks qui expose Genie en tant qu’outil conversationnel via le Model Context Protocol (MCP), en tirant parti de Chat in Genie One. Un client ou agent MCP envoie une question en langage naturel, et Genie effectue une recherche dans vos données d’entreprise, écrit du SQL et renvoie une réponse basée sur la Genie Ontology avec des Link profonds vers vos sources Databricks citées.
Connectez n’importe quel client ou agent MCP pour ancrer ses questions sur les données dans les insights de confiance de Genie. Les clients qui prennent en charge les applications MCP peuvent afficher une vue interactive qui montre la progression, les visualisations et les résultats de Genie en ligne.
Les autorisations de Unity Catalog sont toujours appliquées ; ainsi, les utilisateurs et les agents ne peuvent effectuer que des query sur les données auxquelles ils sont autorisés à accéder.
Utilisez ce serveur pour l'analytique dans votre Workspace : questions métier posées en langage naturel, où la précision dépend de la compréhension de la signification de vos données. Genie résout les termes métier, les définitions de métriques et les relations entre les tables via Genie Ontology, votre couche sémantique gouvernée, ce qui produit des réponses plus précises qu'un agent écrivant du SQL directement sur des tables brutes.
Pour query un agent Genie Agent sélectionné à partir de Python, utilisez les exemples d’outils AI Bridge. Pour query un agent spécifique via MCP, consultez le serveur MCP Genie Agent. Pour appeler Genie One à partir d’une application sans MCP, utilisez l’ API Genie One.
Prérequis
Pour appeler le serveur MCP Genie One, un utilisateur ou un Service Principal a besoin des éléments suivants :
EXECUTEsursystem.ai.genie_one_mcp. Son type sécurisable estmcp_service.USE CATALOGsur le cataloguesystemetUSE SCHEMAsur le schémasystem.ai.- Attribution au workspace.
Pour vérifier les autorisations effectives d'un appelant avec le Databricks CLI, exécutez :
databricks grants get-effective mcp_service system.ai.genie_one_mcp --principal someone@example.com
Pour accorder EXECUTE, exécutez :
databricks grants update mcp_service system.ai.genie_one_mcp \
--json '{"changes": [{"principal": "someone@example.com", "add": ["EXECUTE"]}]}'
Pour accorder l’accès à un MCP fourni par Databricks, un administrateur de metastore doit d’abord s’accorder MANAGE sur le schéma system.ai. Voir Partager un MCP.
Accès via Unity Gateway
Le serveur MCP Genie One est un MCP fourni par Databricks, system.ai.genie_one_mcp, régi par Unity Gateway.
Appelez le MCP à l'URL de sa Unity Gateway, avec son nom Unity Catalog pleinement qualifié dans le chemin et votre ID de workspace dans le o parameter de query :
https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id>
Pour obtenir l'identifiant du workspace sans l'interface utilisateur, utilisez l'une des options suivantes :
- Valeur
o=dans l'URL de votre workspace. - L’en-tête
x-databricks-org-idsur toute réponse de l’API REST Databricks. WorkspaceClient().get_workspace_id()dans le SDK Databricks pour Python.
Lors de la connexion avec l'authentification de l'utilisateur pour le compte de, incluez le périmètre OAuth ai-gateway. Pour contrôler l'accès et appliquer des politiques, consultez Régir un MCP. Pour ajouter le MCP à un agent, consultez Appeler des outils MCP à partir d'un agent Python. Pour connecter des clients externes tels que Cursor ou Claude Desktop, consultez Agents de codage et de travail pris en charge.
Obsolète
L’endpoint bêta, https://<workspace-hostname>/api/2.0/mcp/genie, est obsolète et arrivera en fin de vie le 30 novembre 2026. Après cette date, les requêtes vers l’endpoint bêta échoueront. Déplacez toutes les charges de travail vers le MCP system.ai.genie_one_mcp généralement disponible avant cette date.
Les noms d’outils et les arguments sont les mêmes sur les deux Endpoint. Pour déplacer un client de l’endpoint bêta, mettez à jour sa configuration MCP :
- Remplacez l’URL du serveur par
https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id>. - Si le client utilise OAuth, demandez le scope
ai-gatewayplutôt que le scopegenie. - Assurez-vous que les appelants disposent des autorisations dans Configuration requise.
Connecter des agents IA à Genie One MCP
Pour connecter un agent de codage ou un autre client MCP, configurez le client pour qu’il se connecte à l’URL MCP de Unity Gateway https://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id>. Suivez la configuration pour les agents de codage ou les autres clients MCP.
Pour afficher vos MCP et leurs URL, accédez à votre workspace et sélectionnez Unity Gateway > MCP . Pour lister les MCP fournis par Databricks avec l’API REST, appelez GET /api/2.1/unity-catalog/mcp-services?parent=schemas/system.ai. Voir Trouver un MCP.
Appel depuis Python avec le SDK MCP
Le serveur utilise le transport HTTP diffusable et accepte un jeton Databricks dans un en-tête Authorization: Bearer <token>. L’exemple suivant utilise le MCP Python SDK et le SDK Databricks pour Python afin de poser une question, d’interroger jusqu’à ce que Genie termine, puis de poser une question de suivi dans la même conversation.
Installez les packages :
pip install mcp databricks-sdk
Exécutez l’exemple :
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())
L’exemple ne demande pas de notifications de progression, donc genie_ask retourne immédiatement avec status: in_progress, et le client interroge genie_poll_response pour la réponse.
Plugins Databricks Genie pour ChatGPT, Claude et Grok Bot/Cursor
Les plugins Databricks Genie connectent ChatGPT, Claude et Grok Bot/Cursor au MCP Genie One. Ils utilisent des applications OAuth default, si bien que les utilisateurs se connectent avec leur compte Databricks et qu’un administrateur n’a pas besoin de créer d’application OAuth.
Un administrateur configure le plugin en premier. Ensuite, chaque utilisateur s’y connecte et s’identifie.
Si votre workspace restreint l'accès réseau entrant, un administrateur Databricks doit autoriser le trafic ChatGPT ou Claude, sinon le plugin ne pourra pas se connecter. Voir Autoriser les plates-formes partenaires dans les politiques d'accès entrant basées sur le contexte.
- ChatGPT
- Claude
- Grok Bot/Cursor
Pour configurer le plugin, un administrateur ChatGPT effectue les opérations suivantes :
- Dans les paramètres de votre workspace ChatGPT, cliquez sur Plugins .
- Rechercher Databricks Genie .
- Cliquez sur Créer à partir d’un template .
- Saisissez l’URL de votre Workspace Databricks. Si vous utilisez une URL personnalisée, incluez votre ID Workspace en tant que
?o=<workspace-id>. - Cliquez sur Créer un brouillon .
- Cliquez sur Publier .
Pour se connecter, chaque utilisateur effectue les opérations suivantes :
- Dans ChatGPT, ouvrez la page Plugins .
- Rechercher Databricks Genie .
- Sur le plugin que votre administrateur a configuré, cliquez sur Connexion .
- Lorsque ChatGPT vous redirige, connectez-vous avec votre compte Databricks.
Pour plus d’informations, voir le plugin ChatGPT Genie.
Pour configurer le connecteur, un administrateur Claude effectue les opérations suivantes :
-
Dans Claude, cliquez sur Personnaliser .
-
Rechercher Databricks Genie .
-
Cliquez sur Connecter pour votre équipe .
-
Saisissez l’ URL du MCP Genie One pour votre Workspace :
Texthttps://<workspace-hostname>/ai-gateway/mcp-services/system.ai.genie_one_mcp?o=<workspace-id> -
Cliquez sur Connecter .
Pour se connecter, chaque utilisateur effectue les opérations suivantes :
- Dans Claude, cliquez sur Personnaliser .
- Rechercher Databricks Genie .
- Cliquez sur Connecter .
- Lorsque Claude vous redirige, connectez-vous avec votre compte Databricks.
Pour plus d’informations, voir le connecteur Claude Genie.
Pour configurer le plugin, un administrateur d'équipe Cursor effectue les opérations suivantes :
- Dans le tableau de bord Cursor, ouvrez la page Connecteurs.
- Rechercher Databricks Genie .
- Saisissez l’URL de votre Workspace Databricks. Si vous utilisez une URL personnalisée, incluez votre ID Workspace en tant que
?o=<workspace-id>. - Cliquez sur Publier .
Pour se connecter, chaque utilisateur effectue les opérations suivantes :
- Dans Grok Bot/Cursor, ouvrez Connect apps à partir de la barre latérale.
- Recherchez Databricks Genie et ajoutez-le.
- Lorsque Grok Bot/Cursor vous demande d’ Autoriser , connectez-vous avec votre compte Databricks.
- Vérifiez que Databricks Genie s’affiche sous Installé .
Pour plus d'informations, voir Connecter une application dans la documentation de Grok Bot.
Outils disponibles
Le serveur MCP Genie One expose les outils suivants. En pratique, un agent appelle genie_ask (ou view_ask sur les clients MCP Apps) pour poser une question ; l’agent gère les outils restants en votre nom pendant qu’il traite la réponse.
Outil | Description |
|---|---|
| Posez une question sur les données en langage naturel à Genie et start une réponse. Renvoie |
| Récupérez le dernier état d'une réponse en cours ou terminée, y compris les étapes de progression, la réponse finale et les Link profonds vers vos sources Databricks. |
| Récupère le résultat SQL complet, y compris le schéma de colonne et les lignes, pour une query exécutée par Genie. Appelez-la après que |
| Demander l’annulation d’un tour Genie en cours. |
| Posez une question à Genie et ouvrez la vue interactive. Proposé à la place de |
Posez une question
Comme Genie exécute un agent qui recherche des données et exécute du SQL, les réponses sont asynchrones. Vous (ou votre agent) invoquez genie_ask avec une question ; l’agent gère ensuite le reste de l’échange automatiquement. Un flux typique se présente comme suit :
genie_askstart la réponse et renvoie unconversation_idet unresponse_idavecstatus: in_progress. Genie continue de fonctionner en arrière-plan.- L’agent interroge
genie_poll_responsejusqu’à ce que la réponse soit terminée, en faisant apparaîtreprogress_stepsetnarration_instructionen cours de route pour vous tenir informé. - Lorsque
statusestcompleted(ouincomplete/failed), l’agent renvoie la réponse rendue, incluant un Explore in Databricks deep link vers la conversation complète et toute visualisation produite par Genie.
Pour poursuivre la même conversation, la question de suivi réutilise le conversation_id précédent.
Application MCP
Le serveur MCP Genie One fournit une application MCP, une extension qui permet à un serveur de renvoyer une vue interactive au lieu d’un texte brut. Sur les clients qui prennent en charge les applications MCP, le serveur renvoie une vue interactive : un panneau intégré au client qui affiche la progression, les visualisations et la réponse finale de Genie au fur et à mesure du déroulement de la conversation, plutôt qu’une réponse textuelle uniquement.

L’application MCP Genie One affichant un graphique à barres, des métriques récapitulatives et des citations de l’ontologie Genie dans Claude Desktop.
Aucune configuration supplémentaire n'est requise. Les clients qui prennent en charge les applications MCP obtiennent automatiquement la vue interactive. Clients qui ne continuent pas à recevoir des résultats textuels.
Considérations
- Autorisations : les autorisations Unity Catalog sont appliquées à chaque requête, de sorte que les résultats sont limités à ce à quoi l'utilisateur peut accéder.
- Authentification utilisateur : L’authentification OAuth utilisateur pour le compte de est recommandée, conformément aux meilleures pratiques de gouvernance des données et permettant un passage fluide aux sources Genie. L'authentification par Service Principal est également prise en charge pour les charges de travail programmatiques et automatisées. N’importe quel jeton Databricks envoyé dans un en-tête
Authorization: Bearerfonctionne, y compris les jetons utilisateur à machine (U2M) OAuth, les jetons machine à machine (M2M) OAuth et les jetons d’accès personnels. Un flux OAuth dans un navigateur n’est donc pas nécessaire. Voir Authentification entrante prise en charge. - Configuration : le serveur respecte votre configuration Genie One dans Databricks. Ajustez et configurez le comportement de Genie à cet endroit. Voir Chat dans Genie One.
- Cadence d’interrogation : attendez que l’appel
genie_poll_responseprécédent soit terminé avant d’interroger à nouveau. - Taille des résultats : pour protéger la fenêtre de contexte du modèle,
genie_asketgenie_poll_responserenvoient des résultats de query tronqués. Lorsqu’un agent a besoin du résultat complet, il peut appelergenie_get_query_resultpour récupérer le schéma complet et les lignes. Les résultats très volumineux restent soumis à une limite de taille ; si celle-ci est dépassée, la réponse est tronquée. - SQL Warehouse : Pour exécuter des query sur un SQL Warehouse spécifique, transmettez
warehouse_iddans les_metaparameter surgenie_askouview_ask. - Tarifs : Le serveur MCP Genie One utilise Chat in Genie One. Voir les tarifs de Genie.
Dépannage
Routine or Model ... does not existouMCP is not a valid securable typelorsque vous vérifiez ou accordez des permissions : utilisezmcp_servicecomme type sécurisable, pasfunctionoumcp. Les typesfunctionetmcpne permettent pas de résoudre le MCP.genie_poll_responsene renvoie aucunquery_itemsune fois la réponse terminée : obtenez leitem_idà partir du commentaireTool-call IDsà la fin du texte du sondage, ou capturezstructuredContent.query_items[].item_idà partir d'un sondage précédent alors que la réponse était en cours.item_idne se résout pas dansgenie_get_query_result: unitem_idvalide ressemble àpub_..._output. Ne transmettez pas un ID incorporéquery_...à partir des marqueurs de commentaire de la table de résultats en tant queitem_idcar il ne sera pas résolu.
Ressources supplémentaires
- Agents de codage et de travail pris en charge pour connecter un agent de codage.
- Autres clients MCP pour connecter Claude, ChatGPT ou un autre client.
- Appelez des outils MCP à partir d'un agent Python pour ajouter l'outil MCP Genie One à un agent que vous créez dans le code, puis déployez-le.
- Gérez un MCP pour accorder l’accès et appliquer des politiques.
- MCPs pour un aperçu des MCPs sur Databricks.