Metadata-Version: 2.4
Name: maas-e2b-sandbox
Version: 0.1.1
Summary: MaaS E2B sandbox MCP server
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: e2b==2.8.1
Requires-Dist: e2b-code-interpreter==2.4.1
Requires-Dist: mcp>=1.0

# E2B Sandbox MCP Server

MCP server for E2B sandbox. MaaS mode uses MaaS E2B proxy and tenant API key.

## Config

Environment:

```bash
E2B_API_KEY=e2b_xxx
E2B_API_URL=https://maas.example.com/api/e2b
```

Optional:

```bash
E2B_TEMPLATE=code-interpreter
E2B_TIMEOUT=300
E2B_REQUEST_TIMEOUT=60
E2B_VERIFY_SSL=true
```

Full env list: [ENV.md](ENV.md).
OpenClaw and Hermes config: [INTEGRATION.md](INTEGRATION.md).

The SDK derives MaaS data-plane URLs from `E2B_API_URL`:

- HTTP: `{E2B_API_URL}/sandbox-proxy/{sandbox_id}/ports/{port}`
- WebSocket: `{E2B_API_URL}/ws/sandbox-proxy/{sandbox_id}/ports/{port}`

No MaaS `/config` endpoint is required.

## Run

```bash
python3.11 -m venv .venv
source .venv/bin/activate
pip install -e .

export E2B_API_KEY=e2b_xxx
export E2B_API_URL=https://maas.example.com/api/e2b

python tests/test_mcp_create_delete.py
python tests/test_mcp_client.py
```

After install, the server command is `maas-e2b-sandbox`.
For normal installation, use `pipx install maas-e2b-sandbox` or install with `pip` inside a virtual environment.

## MCP

```yaml
mcp_servers:
  e2b_sandbox:
    command: maas-e2b-sandbox
    timeout: 180
    env:
      PYTHONUNBUFFERED: "1"
      E2B_API_KEY: e2b_xxx
      E2B_API_URL: https://maas.example.com/api/e2b
```

## Tools

- `code_run`
- `cmd_run`, `cmd_start`, `cmd_output`, `cmd_input`, `cmd_kill`
- `file_write`, `file_read`, `file_upload`, `file_download`, `file_inspect`
- `create_session`, `list_sessions`, `close_session`
