
dynamic shell server
Dynamic Shell Command MCP Server
Repository Info
About This Server
Dynamic Shell Command MCP Server
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
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]
Quick Start
Clone the repository
git clone https://github.com/codelion/dynamic-shell-serverInstall dependencies
cd dynamic-shell-server
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.