Aller au contenu principal

Autoriser les agents à exécuter du code

info

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​

Exécuter du code avec le sandbox MCP​

Installer les bibliothèques :

Bash
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.

Python
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 :

Bash
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 :

Python
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.

Ressources supplémentaires​