Capsule Bash Server
OfficialThe Capsule Bash MCP server lets you run bash commands in secure, persistent, isolated WebAssembly sandboxes with no access to the host filesystem or network.
run: Execute a bash command in a sandboxed environment, returning stdout, stderr, exit code, a filesystem diff of what changed, and current shell state (cwd + env vars). Commands sharing the samesession_idmaintain persistent state across calls.reset: Wipe a session's filesystem and shell state (cwd, env vars) back to initial values.sessions: List all currently active shell sessions.
Each session runs in its own WebAssembly address space, ensuring full isolation between sessions with no cross-session data leakage.
Capsule Bash MCP
An MCP server that gives your AI agent the ability to run bash commands in a secure, persistent, sandboxed environment.
How It Works
Each session runs inside a WebAssembly sandbox. The sandbox provides:
Persistent state: cwd, env vars, and filesystem changes persist across commands within a session
Filesystem diff: every
runresponse includes a diff of what changed on diskIsolated memory: each session gets its own address space, no cross-session leakage
No host access: the sandbox cannot reach your host filesystem or network
Learn more about Capsule Bash.
Tools
Tool | Description |
| Run a bash command in a sandboxed session. Returns stdout, stderr, exit code, filesystem diff, and current state (cwd + env). |
| Reset the filesystem and state (cwd, env vars) for a session back to their initial values. |
| List all active sessions. |
Sessions
Commands within the same session_id share cwd, environment variables, and filesystem state across calls.
Example
Ask your AI agent:
"Write a Python script that averages a list of numbers."
The agent calls run sequentially:
{ "command": "mkdir -p /data && cd /data", "session_id": "custom_session" }
{ "command": "echo 'nums = [x for x in [1, 2, 3, []] if isinstance(x, int)]\nprint(sum(nums) / len(nums))' > avg.py", "session_id": "custom_session" }
{ "command": "python3 avg.py", "session_id": "custom_session" }Each call returns stdout, stderr, exitCode, a filesystem diff, and the updated state to enrich context and keep trace in conversation history.
Setup
Add to your MCP client configuration (e.g. Claude Desktop, Cursor):
{
"mcpServers": {
"bash": {
"command": "npx",
"args": ["-y", "@capsule-run/bash-mcp"]
}
}
}Limitations
Not all bash commands and options are implemented. Feel free to open an issue if a command is missing or behaves unexpectedly.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/capsulerun/bash'
If you have feedback or need assistance with the MCP directory API, please join our Discord server