メインコンテンツまでスキップ

エージェントにコードを実行させます。

備考

Unity Gateway ベータ

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

system.ai.sandbox MCP を使用して、孤立した環境でエージェントに Python、SQL、またはシェル コードを実行させます。この例では、LangGraph エージェントを MCP に接続し、Python で計算をランするように求めます。

起動する前に​

サンドボックス MCP でコードをランする​

ライブラリをインストールします。

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

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

エージェントをランします。

Bash
python code_agent.py

エージェントはMCPのツールを検出し、Pythonコードを実行し、18の平均を返します。サンドボックスMCPにはネットワークのエグレスがないため、パッケージの download や外部 APIs の呼び出しを必要としないコードを使用してください。

その他のフレームワークの場合は、この server_url を Python エージェントの例とともに使用してください。デプロイについては、カスタムエージェントの構築を参照してください。

MCP(レガシー)を介して Python 関数を使用します​

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

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

このEndpointには、 Managed MCP Servers のワークスペースプレビューと、基盤となる関数へのアクセスが必要です。レガシーワークスペースEndpointのアクセス許可を使用します (legacy workspace endpoint permissions)。エージェントのデプロイメントと関数アクセスについては、エージェントの認証を参照してください。

その他のリソース​