Dynamic ShellSAFE
Dynamic Shell Command MCP Server
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
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 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
- 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: Arguments: 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
revoke_command_approval: Revoke approval for a previously approved command- Parameters:
6680fca5a442OBSERVED · 2026-10-08Exposed tools (5)
3 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
execute_command | write | |
get_process_output | read | |
get_process_status | read | |
list_all_processes | read | List all processes with their status. |
run_in_venv | write |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (1)
mcp
Gates applied: no_behavioural_pass.
6680fca5a442full audit observations/trust-audit/mcp-server/codelion__dynamic-shell.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 6680fca5a442 | SAFE | B | 89 | first audit |
Questions
What is the Dynamic Shell MCP server?
Dynamic Shell Command MCP Server
What tools does Dynamic Shell expose?
5 in total: 3 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Dynamic Shell safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Dynamic Shell need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (6680fca5a442), read on 2026-10-08. The repository is watched and re-audited when it changes.