Autoriser les agents à exécuter du code
Unity Gateway Beta
Pour utiliser system.ai.dbsql, system.ai.sandbox, ou system.ai.web_search, un administrateur de compte doit activer la version bêta de Unity Gateway depuis la page Previews de la console du compte. Consultez Gérer les aperçus du compte.
Utilisez le MCP system.ai.sandbox pour permettre à votre agent d’exécuter du code Python, SQL ou Shell dans un environnement isolé. Cet exemple connecte un agent LangGraph au MCP et lui demande d’exécuter un calcul en Python.
Avant de start
- Utilisez Python 3,12 et connectez-vous à votre workspace.
- Assurez-vous que votre identité a accès au MCP.
- Choisissez un modèle qui prend en charge l’appel d’outils. L’exemple utilise
databricks-claude-sonnet-4-5; remplacez-le par un Endpoint de modèle disponible dans votre Workspace.
Exécuter du code avec le sandbox MCP
Installer les bibliothèques :
pip install --upgrade databricks-langchain langgraph "mcp>=1.24,<2"
Enregistrer l’élément suivant sous code_agent.py. WorkspaceClient utilise la connexion à votre workspace pour authentifier la connexion MCP.
import asyncio
from databricks.sdk import WorkspaceClient
from databricks_langchain import (
ChatDatabricks,
DatabricksMCPServer,
DatabricksMultiServerMCPClient,
)
from langchain_core.messages import convert_to_openai_messages
from langgraph.prebuilt import create_react_agent
workspace_client = WorkspaceClient()
server_url = f"{workspace_client.config.host}/ai-gateway/mcp-services/system.ai.sandbox"
async def main():
mcp_client = DatabricksMultiServerMCPClient([
DatabricksMCPServer(
name="code-interpreter",
url=server_url,
workspace_client=workspace_client,
),
])
agent = create_react_agent(
ChatDatabricks(endpoint="databricks-claude-sonnet-4-5"),
tools=await mcp_client.get_tools(),
prompt=lambda state: convert_to_openai_messages(state["messages"]),
)
result = await agent.ainvoke({
"messages": [{
"role": "user",
"content": "Run Python code to calculate the mean of [12, 18, 24].",
}],
})
print(result["messages"][-1].content)
asyncio.run(main())
Exécutez l’agent :
python code_agent.py
L’agent découvre les outils du serveur MCP, exécute du code Python et renvoie une moyenne de 18. Le serveur MCP de la sandbox ne dispose pas d’accès réseau sortant. Par conséquent, veuillez utiliser du code qui ne nécessite pas de download de packages ni d’appel d’APIs externes.
Pour d’autres frameworks, utilisez ce server_url avec les exemples d’agents Python. Pour le déploiement, consultez la section Créer un agent personnalisé.
Utiliser la fonction Python via MCP (hérité)
Pour une intégration existante avec la fonction system.ai.python_exec, utilisez plutôt l’exemple d’agent ci-dessus avec cette URL :
server_url = f"{workspace_client.config.host}/api/2.0/mcp/functions/system/ai/python_exec"
Cet endpoint nécessite l’aperçu de workspace Managed MCP Servers et l’accès à la fonction sous-jacente. Il utilise les autorisations de l’endpoint de workspace héritées. Pour le déploiement d’agents et l’accès aux fonctions, consultez la section Authentification des agents.