What is the Exec Sandbox MCP server?
Single exec tool running caller Python in a network-isolated locked-down sandbox.
How to install Exec Sandbox
Copy-paste configuration for popular MCP clients.
transport: stdio
Config generated by PluginBench — verify against the source before use.Environment / auth
MCP_EXEC_TRANSPORTMCP transport. Must be 'stdio' for direct docker/stdio use.
MCP_EXEC_DEFAULT_TIMEOUT_SDefault wall-clock timeout per exec, seconds.
MCP_EXEC_MAX_TIMEOUT_SMaximum wall-clock timeout a caller may request, seconds.
MCP_EXEC_MAX_OUTPUT_BYTESCap on combined stdout/stderr before truncation.
MCP_EXEC_MAX_STDIN_BYTESCap on stdin passed to the sandboxed code.
MCP_EXEC_AUTH_TOKENsecretOptional X-MCP-AUTH token (http/sse transports only).
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-exec": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/idconstruct/mcp-exec:v0.5.4",
"--network",
"none",
"--read-only",
"--cap-drop",
"ALL",
"--security-opt",
"no-new-privileges",
"--user",
"65532:65532",
"--tmpfs",
"/tmp:rw,noexec,nosuid,size=64m",
"--memory",
"256m",
"--pids-limit",
"128",
"--cpus",
"1"
],
"env": {
"MCP_EXEC_TRANSPORT": "<YOUR_MCP_EXEC_TRANSPORT>",
"MCP_EXEC_DEFAULT_TIMEOUT_S": "<YOUR_MCP_EXEC_DEFAULT_TIMEOUT_S>",
"MCP_EXEC_MAX_TIMEOUT_S": "<YOUR_MCP_EXEC_MAX_TIMEOUT_S>",
"MCP_EXEC_MAX_OUTPUT_BYTES": "<YOUR_MCP_EXEC_MAX_OUTPUT_BYTES>",
"MCP_EXEC_MAX_STDIN_BYTES": "<YOUR_MCP_EXEC_MAX_STDIN_BYTES>",
"MCP_EXEC_AUTH_TOKEN": "<YOUR_MCP_EXEC_AUTH_TOKEN>"
}
}
}
}Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-exec": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/idconstruct/mcp-exec:v0.5.4",
"--network",
"none",
"--read-only",
"--cap-drop",
"ALL",
"--security-opt",
"no-new-privileges",
"--user",
"65532:65532",
"--tmpfs",
"/tmp:rw,noexec,nosuid,size=64m",
"--memory",
"256m",
"--pids-limit",
"128",
"--cpus",
"1"
],
"env": {
"MCP_EXEC_TRANSPORT": "<YOUR_MCP_EXEC_TRANSPORT>",
"MCP_EXEC_DEFAULT_TIMEOUT_S": "<YOUR_MCP_EXEC_DEFAULT_TIMEOUT_S>",
"MCP_EXEC_MAX_TIMEOUT_S": "<YOUR_MCP_EXEC_MAX_TIMEOUT_S>",
"MCP_EXEC_MAX_OUTPUT_BYTES": "<YOUR_MCP_EXEC_MAX_OUTPUT_BYTES>",
"MCP_EXEC_MAX_STDIN_BYTES": "<YOUR_MCP_EXEC_MAX_STDIN_BYTES>",
"MCP_EXEC_AUTH_TOKEN": "<YOUR_MCP_EXEC_AUTH_TOKEN>"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-exec": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/idconstruct/mcp-exec:v0.5.4",
"--network",
"none",
"--read-only",
"--cap-drop",
"ALL",
"--security-opt",
"no-new-privileges",
"--user",
"65532:65532",
"--tmpfs",
"/tmp:rw,noexec,nosuid,size=64m",
"--memory",
"256m",
"--pids-limit",
"128",
"--cpus",
"1"
],
"env": {
"MCP_EXEC_TRANSPORT": "<YOUR_MCP_EXEC_TRANSPORT>",
"MCP_EXEC_DEFAULT_TIMEOUT_S": "<YOUR_MCP_EXEC_DEFAULT_TIMEOUT_S>",
"MCP_EXEC_MAX_TIMEOUT_S": "<YOUR_MCP_EXEC_MAX_TIMEOUT_S>",
"MCP_EXEC_MAX_OUTPUT_BYTES": "<YOUR_MCP_EXEC_MAX_OUTPUT_BYTES>",
"MCP_EXEC_MAX_STDIN_BYTES": "<YOUR_MCP_EXEC_MAX_STDIN_BYTES>",
"MCP_EXEC_AUTH_TOKEN": "<YOUR_MCP_EXEC_AUTH_TOKEN>"
}
}
}
}VS Code
.vscode/mcp.json
{
"servers": {
"mcp-exec": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/idconstruct/mcp-exec:v0.5.4",
"--network",
"none",
"--read-only",
"--cap-drop",
"ALL",
"--security-opt",
"no-new-privileges",
"--user",
"65532:65532",
"--tmpfs",
"/tmp:rw,noexec,nosuid,size=64m",
"--memory",
"256m",
"--pids-limit",
"128",
"--cpus",
"1"
],
"env": {
"MCP_EXEC_TRANSPORT": "<YOUR_MCP_EXEC_TRANSPORT>",
"MCP_EXEC_DEFAULT_TIMEOUT_S": "<YOUR_MCP_EXEC_DEFAULT_TIMEOUT_S>",
"MCP_EXEC_MAX_TIMEOUT_S": "<YOUR_MCP_EXEC_MAX_TIMEOUT_S>",
"MCP_EXEC_MAX_OUTPUT_BYTES": "<YOUR_MCP_EXEC_MAX_OUTPUT_BYTES>",
"MCP_EXEC_MAX_STDIN_BYTES": "<YOUR_MCP_EXEC_MAX_STDIN_BYTES>",
"MCP_EXEC_AUTH_TOKEN": "<YOUR_MCP_EXEC_AUTH_TOKEN>"
}
}
}
}Claude Code
claude mcp add mcp-exec --env MCP_EXEC_TRANSPORT=<YOUR_MCP_EXEC_TRANSPORT> --env MCP_EXEC_DEFAULT_TIMEOUT_S=<YOUR_MCP_EXEC_DEFAULT_TIMEOUT_S> --env MCP_EXEC_MAX_TIMEOUT_S=<YOUR_MCP_EXEC_MAX_TIMEOUT_S> --env MCP_EXEC_MAX_OUTPUT_BYTES=<YOUR_MCP_EXEC_MAX_OUTPUT_BYTES> --env MCP_EXEC_MAX_STDIN_BYTES=<YOUR_MCP_EXEC_MAX_STDIN_BYTES> --env MCP_EXEC_AUTH_TOKEN=<YOUR_MCP_EXEC_AUTH_TOKEN> -- docker run -i --rm docker.io/idconstruct/mcp-exec:v0.5.4 --network none --read-only --cap-drop ALL --security-opt no-new-privileges --user 65532:65532 --tmpfs /tmp:rw,noexec,nosuid,size=64m --memory 256m --pids-limit 128 --cpus 1Related MCP servers
Kubernetes Ephemeral Job
Maintained
Runs a command in a throwaway Kubernetes pod and returns exit code, output and artifacts.
0
View repository →Go
MIT
SSH Fleet
Maintained
Curated ssh_probe diagnostics and single-host ssh_exec over an allowlisted SSH fleet.
0
View repository →Go
MIT