Shell

10 tools for running commands, managing persistent shell sessions, executing Python/Node code, and controlling Docker containers.

Execute commands

ToolParametersDescription
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.

ToolParametersDescription
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

ToolParametersDescription
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

ToolParametersDescription
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.