Execute commands
| Tool | Parameters | Description |
run_command | command, cwd?, timeout? | Execute a shell command in a one-shot subprocess. Returns stdout, stderr, and exit code. Use for quick commands that don't need persistent state. |
Shell sessions
Shell sessions maintain state between commands — environment variables, working directory, and running processes persist across calls.
| Tool | Parameters | Description |
shell_session_start | name?, cwd? | Start a named persistent shell session. Reuses an existing session if one with the same name is already running. |
shell_session_run | command, name?, timeout? | Run a command inside an existing named session. State (env vars, cwd) carries over from previous commands in the session. |
shell_session_close | name? | Close and clean up a named shell session. |
Sessions are useful for multi-step workflows: start a dev server in one call, interact with it in subsequent calls, then close it when done.
Language runtimes
| Tool | Parameters | Description |
run_python | code, timeout? | Execute a Python script in a subprocess and return its output. Useful for data processing, math, or scripting tasks. |
run_node | code, timeout? | Execute a Node.js script in a subprocess and return its output. |
Docker
| Tool | Parameters | Description |
docker_run | image, cmd?, env?, volumes? | Run a Docker container with optional command, environment variables, and volume mounts. |
docker_build | tag, path | Build a Docker image from a Dockerfile at the given path and tag it. |
docker_ps | — | List running Docker containers with their status, ports, and names. |
docker_stop | container | Gracefully stop a running container by name or ID. |