Skip to content
↑↓navigate↵openescclose
Claude+372Whisper+228LangChain+168Codex+223NotebookLM+276DALL-E 3+192DeepL+249n8n+208Topaz Video AI+153LlamaIndex+161
MCP Shell Server logo
#148 · of 445 · by weekly downloadsMCP server

MCP Shell Server

Runs only allowlisted shell commands, executed as argv rather than through a shell string.

0
SaveVisit website ↗
Rank
#148
of 445 · by weekly downloads
Weekly downloads
833
npm + PyPI, last 7 days
GitHub stars
189
Repository on GitHub

Add it to your client

Community
Install
uvx mcp-shell-server
mcpServers
{
  "mcpServers": {
    "shell-server-mcp": {
      "command": "uvx",
      "args": [
        "mcp-shell-server"
      ]
    }
  }
}
Transport
stdio
Runtime
Python
Auth
Not required
License
MIT
Stars
189

Every containment idea here follows from one refusal: never hand a string to a shell. Allowed commands run as argv arrays, pipelines keep their segments separate and validated, and redirection targets must resolve inside the requested working directory. Child processes get a small allowlisted environment instead of inheriting the server's, so tokens sitting in the parent's environment do not leak into a command. Naming a binary in ALLOW_COMMANDS is also not treated as trusting it — known escape routes such as find -exec, git -c overrides, GNU sort's external-program options and interpreter launchers are rejected before the process is created. Timeouts, output caps and redacted audit logging complete it; stdin, stdout, stderr, exit status and duration all come back.

Comments(0)

Sign in to comment

No comments yet — be the first.

Similar MCP servers

Report this comment

Why are you reporting this?