by tinywind
A simple MCP (Model Context Protocol) server that enables Claude to execute shell commands without permission prompts.
⚠️ Security Warning: This server executes arbitrary shell commands. Use with caution and only in trusted environments.
# Install globally npm install -g bash-mcp # Or use with npx npx bash-mcp
Add to your claude_desktop_config.json
:
*Configuration content*
bash-mcp
run
- Execute a command// Simple command run("ls -la") // With working directory run("npm test", { cwd: "/path/to/project" }) // With timeout (milliseconds) run("long-running-command", { timeout: 60000 })
run_background
- Start a background process// Start a dev server run_background("npm run dev", "frontend") // Start backend service with working directory run_background("./gradlew bootRun", "backend", { cwd: "./backend" })
kill_background
- Stop a background processkill_background("frontend")
list_background
- List all background processeslist_background()
User: Start the development servers
Assistant: I'll start both frontend and backend servers for you.
[Uses run_background tool]
Started frontend server (PID: 12345)
Started backend server (PID: 12346)
User: Check if they're running
Assistant: [Uses list_background tool]
Both servers are running successfully!
All tools return JSON formatted responses:
*Configuration content*
For background processes:
*Configuration content*
BASH_MCP_MAX_OUTPUT_SIZE
: Maximum output size in bytes before truncation (default: 51200/50KB)BASH_MCP_TEMP_DIR
: Directory for storing full output when truncated (default: system temp directory)*Configuration content*
When command output exceeds BASH_MCP_MAX_OUTPUT_SIZE
:
This MCP server executes arbitrary shell commands with the same privileges as the Node.js process. Only use in development environments or trusted contexts.
MIT
tinywind tinywind0@gmail.com
Issues and pull requests are welcome at GitHub.
No version information available