About Dynamic Shell Server
Dynamic Shell Server is an MCP server published by codelion in the AI category: dynamic Shell Command MCP Server.
The repository has 42 stars and 7 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/codelion/dynamic-shell-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Dynamic Shell Server
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Dynamic Shell Command MCP Server
A Model Context Protocol (MCP) server that enables secure execution of shell commands with a dynamic approval system. This server allows running arbitrary commands while maintaining security through user approval and audit logging.
Features
- 🔐 Dynamic command approval system
- 📝 Persistent storage of approved commands
- 📊 Comprehensive audit logging
- ⏱️ Command timeout protection
- 🔄 Command revocation capability
Installation
- Clone this repository:
git clone <repository-url>
cd dynamic-shell-server
- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
Usage
Standalone Mode
Run the server directly:
python dynamic_shell_server.py
Claude Desktop Integration
-
Open your Claude Desktop configuration:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add the server configuration:
{
"mcpServers": {
"shell": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/dynamic_shell_server.py"]
}
}
}
- Restart Claude Desktop
Command Approval Process
When running a command for the first time, you'll be prompted with:
Command Approval Required
Command: <command>
Arguments: <args>
This command has not been previously approved. Do you want to:
1. Allow this command once
2. Allow this command and remember for future use
3. Deny execution
Please choose an option (1-3):
Available Tools
-
execute_command: Execute a shell command- Parameters:
command: The command to executeargs: Optional list of command arguments
- Parameters:
-
revoke_command_approval: Revoke approval for a previously approved command- Parameters:
command: The command to revoke approval for
- Parameters:
Available Resources
commands://approved: Lists all approved commands with their approval dates
Data Storage
The server stores its data in ~/.config/mcp-shell-server/:
approved_commands.json: List of approved commands and their approval datesaudit.log: Detailed execution history of all commands
Security Features
- User approval required for first-time command execution
- Persistent storage of approved commands
- Comprehensive audit logging
- 5-minute command timeout
- No shell execution (prevents injection attacks)
- Command revocation capability
Example Usage
Through Claude Desktop:
Human: Run 'npm install' in my project directory
Assistant: I'll help you run that command. Since this is the first time running 'npm install', you'll need to approve it.
[Command approval prompt appears]
README fetched from the repository 4 days ago. The original is authoritative.