Community System
Shell
Run arbitrary shell commands — full control of the host with configurable allow/deny lists.
185 stars 47 forks Last commit 5d ago Language TypeScript License MIT
Install
npm install -g mcp-shell-server Maintain this server? Add the badge
Show your README readers it's in a curated directory — and give them a one-click path to install docs and config.
Markdown
[](https://prismix.dev/mcp/shell) Theme-aware version (auto dark/light on GitHub) →
<a href="https://prismix.dev/mcp/shell"><picture><source media="(prefers-color-scheme: dark)" srcset="https://prismix.dev/api/badge/mcp/shell.svg?theme=dark"><img alt="Listed on Prismix" src="https://prismix.dev/api/badge/mcp/shell.svg"></picture></a> Claude Desktop / Cursor config
Drop into your claude_desktop_config.json or Cursor MCP settings. Replace the ${…} placeholders with your own values.
{
"mcpServers": {
"shell": {
"command": "npx",
"args": ["-y", "mcp-shell-server"],
"env": { "ALLOWED_COMMANDS": "ls,cat,grep,git,npm,node" }
}
}
} About
Shell execution server. Two safety layers: configurable command allow-list (only run commands you whitelist) and a sandboxed working directory. Strong power, strong footgun — use with restricted scope only.
Recent releases (5)
All releases →- v1.1.8 Latest Aug 8, 2026
## Security - Preserve literal pipe characters inside argv arguments. Pipeline syntax is now recognized only from a discrete `|` argv element. - Prevent attached pipe arguments from creating unintended pipeline stages or bypassing command-specific argument policies such as the `awk` external-access check. - Attached pipes are no longer implicit pipeline syntax. Use `["cmd1", "|", "cmd2"]`. Fixes GHSA-q8pm-q3r2-q7cg and GHSA-7wg7-jj87-qp4c. PyPI: https://pypi.org/project/mcp-shell-server/1.1.8/
View on GitHub ↗ - v1.1.7 Aug 4, 2026
## Security - Reject version-suffixed Python interpreter names such as `python2` and `python3.11`, including absolute-path forms, when admitted through command patterns. PyPI: https://pypi.org/project/mcp-shell-server/1.1.7/
View on GitHub ↗ - v1.1.6 Aug 4, 2026
## Security - Reject persistent `git config` invocations that can store executable Git configuration. - Apply existing hardened policies to common alternate command names such as `gawk`, `gfind`, `gtar`, and `bsdtar`. - Reject command-wrapper and shell-escape tools such as `timeout`, `nice`, `nohup`, `setsid`, `stdbuf`, `flock`, `less`, `vim`, and `ssh` by default. - Document that command hardening is best-effort defense in depth, not a complete sandbox. PyPI: https://pypi.org/project/mcp-shell-server/1.1.6/
View on GitHub ↗ - v1.1.5 Aug 2, 2026
## Security - Require MCP Python SDK `>=1.28.1` to address [GHSA-vj7q-gjh5-988w](https://github.com/advisories/GHSA-vj7q-gjh5-988w), where the WebSocket server transport did not validate Host/Origin headers. - Includes the command argument hardening published in [GHSA-gvwf-5g64-3vvw](https://github.com/tumf/mcp-shell-server/security/advisories/GHSA-gvwf-5g64-3vvw). Versions `<=1.1.2` must upgrade to `1.1.3` or later. PyPI: https://pypi.org/project/mcp-shell-server/1.1.5/
View on GitHub ↗ - v1.1.4 Aug 1, 2026
## What's Changed * fix: pin MCP SDK below 2.0 by @tumf in https://github.com/tumf/mcp-shell-server/pull/48 **Full Changelog**: https://github.com/tumf/mcp-shell-server/compare/v1.1.3...v1.1.4
View on GitHub ↗
Discussion (0)
Sign in to comment →No comments yet. Sign in to start the discussion.