MCP.so
Sign In

Dynamic Shell Server MCP Server

@codelion

Basic information

Category

Developer Tools

License

Apache-2.0

Transports

stdio

Author

codelion

Submitted by

Asankhaya Sharma

About Dynamic Shell Server MCP Server

Dynamic Shell Command MCP Server

#dynamic-shell-server#shell-commands#security

Dynamic Shell Server MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "dynamic-shell-server": {
      "command": "python",
      "args": [
        "-m",
        "venv",
        "venv"
      ]
    }
  }
}

Dynamic Shell Server MCP Server tools

2

`command`: The command to execute

`command`: The command to revoke approval for

Overview

What is Dynamic Shell Server?

Dynamic Shell Server is a Model Context Protocol (MCP) server that enables secure execution of shell commands with a dynamic approval system. It allows running arbitrary commands while maintaining security through user approval and audit logging. This server is designed for developers using MCP-compatible clients like Claude Desktop.

How to use Dynamic Shell Server?

Install by cloning the repository, setting up a Python virtual environment, and installing dependencies. Run standalone with python dynamic_shell_server.py or integrate with Claude Desktop by adding its configuration to claude_desktop_config.json. When a command is executed for the first time, the user is prompted to allow it once, allow and remember, or deny execution.

Key features of Dynamic Shell Server

  • Dynamic command approval system with user prompts
  • Persistent storage of approved commands
  • Comprehensive audit logging of all executions
  • 5-minute command timeout protection
  • Command revocation capability for previously approved commands
  • No shell execution to prevent injection attacks

Use cases of Dynamic Shell Server

  • Execute shell commands through Claude Desktop with user approval
  • Run project setup commands like npm install only after approval
  • Approve commonly used commands once for repeated safe execution
  • Revoke approval for commands that should no longer be allowed
  • Maintain an audit trail of all command executions

Frequently asked questions

1

How does the command approval process work?

When a command is run for the first time, the server prompts the user to allow it once, allow it and remember the approval, or deny execution. Approved commands are stored persistently.

2

Where does Dynamic Shell Server store its data?

Data is stored in the directory `~/.config/mcp-shell-server/`, containing `approved_commands.json` (list of approved commands) and `audit.log` (execution history).

3

What security features protect against command injection?

The server does not use shell execution, preventing shell injection attacks. It also requires user approval for first-time command execution and logs all commands.

4

Is there a timeout for command execution?

Yes, commands have a 5-minute timeout protection to prevent runaway processes.

5

Can I revoke approval for a previously approved command?

Yes, the `revoke_command_approval` tool allows revoking approval for any command that was previously approved.

Comments

More Developer Tools MCP servers