
Exec Sandbox
io.github.inhumanPublished by GitHub account inhumanv0.5.4Updated Oct 24, 2026
Single exec tool running caller Python in a network-isolated locked-down sandbox.
Overview
An MCP server exposing a single exec tool that runs assistant-supplied Python code in a locked-down, network-isolated sandbox and returns stdout, stderr and an
- What you can do
- Run Python code in a sandbox and get back stdout, stderr, exit code, duration and truncation or timeout flags, with optional stdin and a per-call timeout. Use the bundled libraries (PyYAML, Jinja2, Pillow, numpy, pandas, matplotlib) for data processing, templating and plotting inside the run. Treat non-zero exit codes and timeouts as normal results rather than tool errors.
- When to use it
- Worth adding when an assistant should compute, transform data or generate files by writing code instead of calling many narrow tools, and you want that code confined to a disposable sandbox. Less useful if you need shell access, languages other than Python, or network access from the executed code.
- Requirements
- Runs as a local process, typically the published Docker image with a writable tmpfs at /tmp and a read-only rootfs. Configuration is by environment variables such as MCP_EXEC_TRANSPORT (stdio, http or sse), MCP_EXEC_DEFAULT_TIMEOUT_S, MCP_EXEC_MAX_TIMEOUT_S, MCP_EXEC_MAX_OUTPUT_BYTES and MCP_EXEC_MAX_STDIN_BYTES. No account or API key is needed for stdio.
Installation
In SourceWeft
- Open Exec Sandbox in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-exec
English | Русский
[Version] [MCP Registry] [Docker Pulls] [Docker Image Version] [Build] [Go Version] [Go Report Card] [License: MIT] [Issues] [Last Commit]
Public OSS MCP server (Go, MIT) exposing a single powerful tool — exec — that runs
caller-supplied Python code in a network-isolated, locked-down sandbox and returns
stdout / stderr / exit_code. It is the "code-execution mode" building block: instead of
flooding an agent's context with hundreds of tool schemas, the agent writes code that orchestrates
the work.
Works over three transports — stdio / HTTP / SSE — with an identical tool set everywhere
(official modelcontextprotocol/go-sdk).
The exec tool
Input: { code: string (required), timeout_s?: int, stdin?: string }
Output: { stdout, stderr, exit_code, duration_ms, truncated, timed_out }
- A non-zero
exit_codeortimed_out=trueis a normal result, not a tool error. Only invalid input (emptycode, oversizedstdin) is a tool-call error. - Sandbox v1: Python 3 with stdlib + PyYAML, Jinja2, Pillow, numpy, pandas, matplotlib.
Security model (invariants)
Per execution: no network, non-root, cap-drop=ALL, no-new-privileges, read-only rootfs,
no CAP_SYS_ADMIN, ephemeral tmpdir (cleaned up), wall-clock timeout (kills the whole
process-group), memory/PID/CPU limits, capped output (1 MiB → truncated). Runs are serialized
within an instance; scale out with replicas. Caller data (code/stdin/output) is never persisted
and never logged in full — only metadata.
execis the most powerful surface there is. When embedding it in an agent, gate it behind that agent's tool-policy (trusted roles only).
Network note: --network none only applies to stdio. In HTTP/SSE the container needs
networking to serve its port, so sandboxed code would inherit egress — deny it at the orchestrator.
In k8s, a NetworkPolicy that allows ingress to the port and denies all egress:
Run
Docker (recommended production posture):
--tmpfs /tmp is required: the rootfs is read-only, and each run needs a writable
ephemeral workspace (cleaned up after).
Optional auth (HTTP/SSE)
Set MCP_EXEC_AUTH_TOKEN to require every HTTP/SSE request to carry a matching X-MCP-AUTH header
(constant-time compare; 401 otherwise). Empty token disables it. Not applicable to stdio.
Configuration
Not in v1
bash / multi-language, network from the sandbox, proxying other MCP servers into the sandbox.
License
MIT.
Source: README.md at commit ae987e0
Tools
0Version history
1- v0.5.4LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts