Atlas / MCP servers / codelion / Dynamic Shell

Dynamic ShellSAFE

mcp/codelion/dynamic-shell

Dynamic Shell Command MCP Server

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
5 3r · 2w · 0d
Transport
—
License
Apache-2.0
Stars
42
01

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

  1. Clone this repository:
git clone 
cd dynamic-shell-server
  1. Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Usage

Standalone Mode

Run the server directly:

python dynamic_shell_server.py

Claude Desktop Integration

  1. Open your Claude Desktop configuration:
  2. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Add the server configuration:
{
"mcpServers": {
"shell": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/dynamic_shell_server.py"]
}
}
}
  1. 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

  1. execute_command: Execute a shell command
  2. Parameters:
  3. command: The command to execute
  4. args: Optional list of command arguments
  1. revoke_command_approval: Revoke approval for a previously approved command
  2. Parameters:
Read from source at commit 6680fca5a442OBSERVED · 2026-10-08
02

Exposed tools (5)

3 read · 2 write · 0 destructive.

ToolRiskDescription
execute_commandwrite
get_process_outputread
get_process_statusread
list_all_processesreadList all processes with their status.
run_in_venvwrite
03

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (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)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements.txt
mcp
Why it matters. 1 requirement(s) not pinned with ==
Fix. pin exact versions

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 6680fca5a442full audit observations/trust-audit/mcp-server/codelion__dynamic-shell.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-086680fca5a442SAFEB89first audit
05

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.

Advertisement