Permitir que los agentes ejecuten código

Important

Para usar system.ai.dbsql, system.ai.sandbox o system.ai.web_search, un administrador de cuenta debe habilitar la beta de Unity Gateway desde la página de Previews de la consola de la cuenta. Consulte Administrar vistas previas de la cuenta.

Usa el system.ai.sandbox MCP para que tu agente ejecute Python, SQL o código shell en un entorno aislado. Este ejemplo conecta un agente LangGraph al MCP y le pide que realice un cálculo en Python.

Antes de empezar

Ejecutar código con el MCP sandbox

Instala las bibliotecas:

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

Guarde lo siguiente como code_agent.py. WorkspaceClient Utiliza el inicio de sesión en tu espacio de trabajo para autenticar la conexión 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())

Ejecute el agente:

python code_agent.py

El agente descubre las herramientas del MCP, ejecuta código en Python y devuelve una media de 18. El sandbox MCP no tiene salida de red, así que usa código que no necesite descargar paquetes ni llamar a APIs externas.

Para otros frameworks, usa esto server_url con los ejemplos de agentes en Python. Para el despliegue, consulta Construir un agente personalizado.

Usa la función Python a través de MCP (legacy)

Para una integración existente con la system.ai.python_exec función, utiliza el ejemplo del agente anterior con esta URL:

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

Este punto de conexión requiere la versión preliminar del área de trabajo de Servidores MCP administrados y acceso a la función subyacente. Utiliza permisos de endpoint de workspace heredados. Para el despliegue de agentes y el acceso a funciones, véase Autenticación de agentes.

Recursos adicionales