Skip to main content

OpenSandbox MCP Sandbox Server (Python)

Project description

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

uv sync
uv run opensandbox-mcp

Package

pip install opensandbox-mcp
opensandbox-mcp

Configuration

Environment variables:

  • OPEN_SANDBOX_API_KEY
  • OPEN_SANDBOX_DOMAIN

CLI overrides:

opensandbox-mcp --api-key ... --domain ... --protocol https

Config fields:

  • api_key: OpenSandbox API key for authentication.
  • domain: OpenSandbox API domain, for example api.opensandbox.io.
  • protocol: http or https for API requests.
  • request_timeout_seconds: HTTP request timeout in seconds.
  • transport: stdio by default, or streamable-http.

Streamable HTTP

opensandbox-mcp \
  --transport streamable-http

3. Integrations

Claude Code stdio

claude mcp add opensandbox-sandbox --transport stdio -- \
  opensandbox-mcp --api-key "$OPEN_SANDBOX_API_KEY" --domain "$OPEN_SANDBOX_DOMAIN"

Claude Code http

claude mcp add opensandbox-sandbox --transport http http://localhost:8000/mcp

Cursor stdio

{
  "mcpServers": {
    "opensandbox-sandbox": {
      "command": "opensandbox-mcp",
      "args": [
        "--api-key",
        "${OPEN_SANDBOX_API_KEY}",
        "--domain",
        "${OPEN_SANDBOX_DOMAIN}"
      ]
    }
  }
}

Cursor http

{
  "mcpServers": {
    "opensandbox-sandbox": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

4. Tools

Notes:

  • All tools operate on a sandbox_id returned by sandbox_create or sandbox_connect.
  • file_read/file_write are text-only; use encoding and range_header for large files.

Sandbox

  • sandbox_create: create a new sandbox and register it locally
  • sandbox_connect: attach to an existing sandbox and register it locally
  • sandbox_kill: terminate a sandbox by ID
  • sandbox_get_info: fetch sandbox info by ID
  • sandbox_list: list sandboxes with optional filter object
  • sandbox_renew: extend sandbox expiration
  • sandbox_healthcheck: check if sandbox is healthy
  • sandbox_get_metrics: get resource metrics
  • sandbox_get_endpoint: get network endpoint for a port

Command Execution

  • command_run: run a command inside a sandbox
  • command_interrupt: interrupt a running command

Filesystem

  • file_read: read a text file
  • file_write: write a text file
  • file_delete: delete files
  • file_search: search for files by glob
  • file_create_directories: create directories
  • file_delete_directories: delete directories
  • file_move: move/rename files or directories
  • file_replace_contents: replace file content

5. Minimal Workflow

  1. sandbox_create -> keep the sandbox_id.
  2. file_write code or assets into the sandbox.
  3. command_run to execute, install dependencies, or start a service.
  4. sandbox_get_endpoint if you expose a port.
  5. sandbox_kill when 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."

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opensandbox_mcp-0.1.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opensandbox_mcp-0.1.1-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file opensandbox_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: opensandbox_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for opensandbox_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5408c4df804acdec3bfd47928b58cd3e81c19cd3786d7b1c39b22bc4b8baaabe
MD5 3cd792af84825ae67fb9b2d34ae35978
BLAKE2b-256 6c8e936ecadbdb6fe8b670c185bed8a671c28b5f5173a50d49e37a14f2179043

See more details on using hashes here.

File details

Details for the file opensandbox_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: opensandbox_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for opensandbox_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 997f2b5e45d6740fbd907ddeea66248d06277e0f1b2dc0eec2adcaeb763da700
MD5 05985c3cc5dda9b0d5544097d389afb8
BLAKE2b-256 cbfbb72af7ee5ea19684d4c074bf635145d226dc7842c32ffa7b7351e553eb62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page