Exec Sandbox for VS Code
io.github.inhuman/mcp-exec
Single exec tool running caller Python in a network-isolated locked-down sandbox.
client:VS Code
transport:stdio
runtime:oci
Install Exec Sandbox in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "mcp-exec-transport",
"description": "MCP_EXEC_TRANSPORT",
"password": true
},
{
"type": "promptString",
"id": "mcp-exec-default-timeout-s",
"description": "MCP_EXEC_DEFAULT_TIMEOUT_S",
"password": true
},
{
"type": "promptString",
"id": "mcp-exec-max-timeout-s",
"description": "MCP_EXEC_MAX_TIMEOUT_S",
"password": true
},
{
"type": "promptString",
"id": "mcp-exec-max-output-bytes",
"description": "MCP_EXEC_MAX_OUTPUT_BYTES",
"password": true
},
{
"type": "promptString",
"id": "mcp-exec-max-stdin-bytes",
"description": "MCP_EXEC_MAX_STDIN_BYTES",
"password": true
},
{
"type": "promptString",
"id": "mcp-exec-auth-token",
"description": "MCP_EXEC_AUTH_TOKEN",
"password": true
}
],
"servers": {
"mcp-exec": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/idconstruct/mcp-exec:v0.5.4"
],
"env": {
"MCP_EXEC_TRANSPORT": "${input:mcp-exec-transport}",
"MCP_EXEC_DEFAULT_TIMEOUT_S": "${input:mcp-exec-default-timeout-s}",
"MCP_EXEC_MAX_TIMEOUT_S": "${input:mcp-exec-max-timeout-s}",
"MCP_EXEC_MAX_OUTPUT_BYTES": "${input:mcp-exec-max-output-bytes}",
"MCP_EXEC_MAX_STDIN_BYTES": "${input:mcp-exec-max-stdin-bytes}",
"MCP_EXEC_AUTH_TOKEN": "${input:mcp-exec-auth-token}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs