I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

dynamic-shell-server
3 years
Works with Finder
1
Github Watches
4
Github Forks
6
Github Stars
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 execute -
args
: 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 dates -
audit.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]
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Oede knorrepot die vasthoudt an de goeie ouwe tied van 't boerenleven
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.
Mirror ofhttps://github.com/suhail-ak-s/mcp-typesense-server
本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
Reviews

user_ViEJB3ok
Dynamic-Shell-Server by codelion has truly revolutionized my workflow. This powerful tool provides seamless shell access with impressive dynamic capabilities. It’s a must-have for any developer seeking efficiency and reliability. Highly recommend checking out the project on GitHub!