エージェントがコードを実行できるようにする

Important

system.ai.dbsql、system.ai.sandbox、またはsystem.ai.web_searchを利用するには、アカウント管理者がアカウントコンソールのPreviewsページからUnity Gatewayベータを有効にする必要があります。 アカウント プレビューの管理をご覧ください。

system.ai.sandboxMCPを使って、エージェントがPython、SQL、またはシェルコードを分離された環境で実行できるようにします。 この例では、LangGraphエージェントをMCPに接続し、Pythonで計算を実行するよう求めます。

始める前に

サンドボックスMCPでコードを実行します

ライブラリをインストールする:

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

次を code_agent.pyとして保存します。 WorkspaceClient ワークスペースのサインインを使って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())

エージェントを実行します。

python code_agent.py

エージェントはMCPのツールを発見し、Pythonコードを実行し、平均値として18を返します。 サンドボックスMCPには外向きのネットワーク通信がないため、パッケージのダウンロードや外部APIを呼び出す必要のないコードを使用してください。

他のフレームワークについては、この server_url を Python エージェント例と組み合わせて活用してください。 デプロイメントについては「 カスタムエージェントの作成」を参照してください。

MCP(レガシー)を通じてPython関数を使う

既存の system.ai.python_exec 関数との統合については、上記のエージェント例で代わりにこの URL を使用してください:

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

このエンドポイントには マネージドMCPサーバー のワークスペースプレビューと基盤関数へのアクセスが必要です。 レガシー ワークスペース エンドポイント権限を使用します。 エージェント展開および機能アクセスについては、 エージェント認証を参照してください。

その他のリソース