OpenSandbox MCP Sandbox Server
1. Overview
OpenSandbox MCP Server exposes the OpenSandbox Python SDK as MCP tools for Claude Code, Cursor, and other MCP-capable clients. It provides focused sandbox lifecycle management, command execution, and text file operations.
2. Installation & Startup
Source
bash
uv sync
uv run opensandbox-mcpPackage
bash
pip install opensandbox-mcp
opensandbox-mcpConfiguration
Environment variables:
OPEN_SANDBOX_API_KEYOPEN_SANDBOX_DOMAIN
CLI overrides:
bash
opensandbox-mcp --api-key ... --domain ... --protocol httpsConfig fields:
api_key: OpenSandbox API key for authentication.domain: OpenSandbox API domain, for exampleapi.opensandbox.io.protocol:httporhttpsfor API requests.request_timeout_seconds: HTTP request timeout in seconds.transport:stdioby default, orstreamable-http.
Streamable HTTP
bash
opensandbox-mcp \
--transport streamable-http3. Integrations
Claude Code stdio
bash
claude mcp add opensandbox-sandbox --transport stdio -- \
opensandbox-mcp --api-key "$OPEN_SANDBOX_API_KEY" --domain "$OPEN_SANDBOX_DOMAIN"Claude Code http
bash
claude mcp add opensandbox-sandbox --transport http http://localhost:8000/mcpCursor stdio
json
{
"mcpServers": {
"opensandbox-sandbox": {
"command": "opensandbox-mcp",
"args": [
"--api-key",
"${OPEN_SANDBOX_API_KEY}",
"--domain",
"${OPEN_SANDBOX_DOMAIN}"
]
}
}
}Cursor http
json
{
"mcpServers": {
"opensandbox-sandbox": {
"url": "http://localhost:8000/mcp"
}
}
}4. Tools
Notes:
- All tools operate on a
sandbox_idreturned bysandbox_createorsandbox_connect. file_read/file_writeare text-only; useencodingandrange_headerfor large files.
Sandbox
sandbox_create: create a new sandbox and register it locallysandbox_connect: attach to an existing sandbox and register it locallysandbox_kill: terminate a sandbox by IDsandbox_get_info: fetch sandbox info by IDsandbox_list: list sandboxes with optionalfilterobjectsandbox_renew: extend sandbox expirationsandbox_healthcheck: check if sandbox is healthysandbox_get_metrics: get resource metricssandbox_get_endpoint: get network endpoint for a port
Command Execution
command_run: run a command inside a sandboxcommand_interrupt: interrupt a running command
Filesystem
file_read: read a text filefile_write: write a text filefile_delete: delete filesfile_search: search for files by globfile_create_directories: create directoriesfile_delete_directories: delete directoriesfile_move: move/rename files or directoriesfile_replace_contents: replace file content
5. Minimal Workflow
sandbox_create-> keep thesandbox_id.file_writecode or assets into the sandbox.command_runto execute, install dependencies, or start a service.sandbox_get_endpointif you expose a port.sandbox_killwhen finished.
6. Usage Examples
Here are some examples of what you can ask an LLM to do:
- "Create a Python sandbox and run a quick health command."
- "Write a Python script into the sandbox and run it."
- "Download a GitHub repo, install dependencies, and run its tests."
- "Generate a CSV file with fake sales data and run a simple summary script."
- "Start a tiny web server on port 8000 and return the public URL."
- "Build a minimal REST API (hello + health) and expose it on port 8000."
- "Create a tar.gz of /app and report the file size."
- "Build a simple Snake game and return the web endpoint where it can be accessed."
This page is sourced from:
sdks/mcp/sandbox/python/README.md