Skip to main content
Glama
b48f8f5xg2-blip

Dynamic Shell Command MCP Server

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

  1. Clone this repository:

git clone <repository-url>
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:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. 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: <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

  1. execute_command: Execute a shell command

    • Parameters:

      • command: The command to execute

      • args: Optional list of command arguments

  2. revoke_command_approval: Revoke approval for a previously approved command

    • Parameters:

      • command: The command to revoke approval for

Available Resources

  1. 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]
-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/b48f8f5xg2-blip/dynamic-shell-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server