Consentire agli agenti di eseguire il codice

Important

Per utilizzare system.ai.dbsql, system.ai.sandbox, o system.ai.web_search, un amministratore dell'account deve abilitare la beta Unity Gateway dalla pagina delle anteprime della console account. Vedi Gestisci anteprime dell'account.

Usa l'MCP system.ai.sandbox per permettere al tuo agente di eseguire Python, SQL o shell code in un ambiente isolato. Questo esempio collega un agente LangGraph al MCP e gli chiede di eseguire un calcolo in Python.

Prima di iniziare

Esegui codice con il sandbox MCP

Installa le librerie:

pip install --upgrade databricks-langchain langgraph "mcp>=1.24,<2"

Salvare il codice seguente come code_agent.py. WorkspaceClient utilizza il login del tuo workspace per autenticare la connessione 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())

Eseguire l'agente:

python code_agent.py

L'agente scopre gli strumenti dell'MCP, esegue codice Python e restituisce una media di 18. Il sandbox MCP non ha l'uscita di rete, quindi usa codice che non richiede di scaricare pacchetti o chiamare API esterne.

Per altri framework, usa questo server_url con gli esempi di agenti Python. Per il deployment, vedi Crea un agente personalizzato.

Usa la funzione Python tramite MCP (legacy)

Per un'integrazione esistente con la funzione system.ai.python_exec, usa l'esempio di agent sopra con questo URL:

server_url = f"{workspace_client.config.host}/api/2.0/mcp/functions/system/ai/python_exec"

Questo endpoint richiede l'anteprima dello spazio di lavoro Managed MCP Servers e l'accesso alla funzione sottostante. Utilizza permessi legacy dell'endpoint dell'area di lavoro. Per il deployment degli agenti e l'accesso alle funzioni, vedi Autenticazione degli agenti.

Risorse aggiuntive