Dynamic Shell Server
@codelion
About Dynamic Shell Server
Dynamic Shell Command MCP Server
Basic information
Category
Developer Tools
License
Apache-2.0
Runtime
python
Transports
stdio
Publisher
codelion
Submitted by
Asankhaya Sharma
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"dynamic-shell-server": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
]
}
}
}Tools
2`command`: The command to execute
`command`: The command to revoke approval for
Overview
What is Dynamic Shell Server?
Dynamic Shell Server is a Model Context Protocol (MCP) server that enables secure execution of shell commands with a dynamic approval system. It allows running arbitrary commands while maintaining security through user approval and audit logging. This server is designed for developers using MCP-compatible clients like Claude Desktop.
How to use Dynamic Shell Server?
Install by cloning the repository, setting up a Python virtual environment, and installing dependencies. Run standalone with python dynamic_shell_server.py or integrate with Claude Desktop by adding its configuration to claude_desktop_config.json. When a command is executed for the first time, the user is prompted to allow it once, allow and remember, or deny execution.
Key features of Dynamic Shell Server
- Dynamic command approval system with user prompts
- Persistent storage of approved commands
- Comprehensive audit logging of all executions
- 5-minute command timeout protection
- Command revocation capability for previously approved commands
- No shell execution to prevent injection attacks
Use cases of Dynamic Shell Server
- Execute shell commands through Claude Desktop with user approval
- Run project setup commands like
npm installonly after approval - Approve commonly used commands once for repeated safe execution
- Revoke approval for commands that should no longer be allowed
- Maintain an audit trail of all command executions
FAQ from Dynamic Shell Server
How does the command approval process work?
When a command is run for the first time, the server prompts the user to allow it once, allow it and remember the approval, or deny execution. Approved commands are stored persistently.
Where does Dynamic Shell Server store its data?
Data is stored in the directory ~/.config/mcp-shell-server/, containing approved_commands.json (list of approved commands) and audit.log (execution history).
What security features protect against command injection?
The server does not use shell execution, preventing shell injection attacks. It also requires user approval for first-time command execution and logs all commands.
Is there a timeout for command execution?
Yes, commands have a 5-minute timeout protection to prevent runaway processes.
Can I revoke approval for a previously approved command?
Yes, the revoke_command_approval tool allows revoking approval for any command that was previously approved.
More Developer Tools MCP servers
MCP Containers
metorialConnect any AI model to 1200+ integrations (MCP, CLI, API)
MCP server to deploy code to Google Cloud Run
GoogleCloudPlatformMCP server to deploy apps to Cloud Run
MCP Framework
QuantGeekDevThe Typescript MCP Framework
JetBrains MCP Proxy Server
JetBrainsA model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio
Code Index MCP
johnhuang316A Model Context Protocol (MCP) server that helps large language models index, search, and analyze code repositories with minimal setup
Comments