Shell MCP Server

local-only server

The server can only run on the clientโ€™s local machine because it depends on local resources.

Integrations

  • Allows execution of git commands for repository management, including viewing repository status and differences between commits.

  • Enables secure execution of shell commands in specified directories with support for multiple shell types, timeout control, and built-in security features to safely run system commands for file operations, git commands, package management, and system monitoring.

๐Ÿ–ฅ๏ธ Shell MCP Server

๐Ÿš€ Add secure shell command execution capabilities to your AI applications with the Shell MCP Server! Built for the Model Context Protocol.

โœจ Features

  • ๐Ÿ”’ Secure Execution - Commands run only in specified directories
  • ๐Ÿš Multiple Shells - Support for bash, sh, cmd, powershell
  • โฑ๏ธ Timeout Control - Automatic termination of long-running commands
  • ๐ŸŒ Cross-Platform - Works on both Unix and Windows systems
  • ๐Ÿ›ก๏ธ Safe by Default - Built-in directory and shell validation

๐Ÿš€ Quick Start

Installation

# Using pip pip install shell-mcp-server # Using uv (recommended) uv pip install shell-mcp-server

๐Ÿ”Œ Claude Desktop Integration

Add this to your Claude Desktop config to enable shell command execution:

{ "mcpServers": { "shell-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/shell-mcp-server", "run", "shell-mcp-server", "/path/to/allowed/dir1", "/path/to/allowed/dir2", "--shell", "bash", "/bin/bash", "--shell", "zsh", "/bin/zsh" ] } } }

๐ŸŽฎ Usage Examples

Basic File Operations

# List directory contents result = execute_command( command="ls -la", shell="bash", cwd="/path/to/project" ) # Find files by pattern result = execute_command( command="find . -name '*.py'", shell="bash", cwd="/path/to/project" )

Project Management

# Git operations result = execute_command( command="git status && git diff", shell="bash", cwd="/path/to/repo" ) # Package management result = execute_command( command="pip list --outdated", shell="bash", cwd="/path/to/python/project" )

System Information

# Resource usage result = execute_command( command="df -h && free -h", shell="bash", cwd="/path/to/dir" ) # Process monitoring result = execute_command( command="ps aux | grep python", shell="bash", cwd="/path/to/dir" )

File Processing

# Search file content result = execute_command( command="grep -r 'TODO' .", shell="bash", cwd="/path/to/project" ) # File manipulation result = execute_command( command="awk '{print $1}' data.csv | sort | uniq -c", shell="bash", cwd="/path/to/data" )

Windows-Specific Examples

# List processes result = execute_command( command="Get-Process | Where-Object {$_.CPU -gt 10}", shell="powershell", cwd="C:\\path\\to\\dir" ) # System information result = execute_command( command="systeminfo | findstr /B /C:'OS'", shell="cmd", cwd="C:\\path\\to\\dir" )

โš™๏ธ Configuration

Configure behavior with command-line arguments:

ArgumentDescription
directories๐Ÿ“ List of allowed directories
--shell name path๐Ÿš Shell specifications (name and path)

Environment variables:

  • COMMAND_TIMEOUT: โฑ๏ธ Max execution time in seconds (default: 30)

๐Ÿ›ก๏ธ Security Features

  • ๐Ÿ” Directory Isolation: Commands can only execute in specified directories
  • ๐Ÿ”’ Shell Control: Only configured shells are allowed
  • โฐ Timeout Protection: All commands have a configurable timeout
  • ๐Ÿ›‘ Path Validation: Working directory validation prevents traversal attacks
  • ๐Ÿ‘ค Permission Isolation: Commands run with the same permissions as the server process

๐Ÿ› ๏ธ Development

Set up your development environment:

# Create and activate virtual environment uv venv source .venv/bin/activate # Install development dependencies uv pip install -e ".[test]" # Run tests python -m pytest # Run tests with coverage python -m pytest --cov=shell_mcp_server

๐Ÿค Contributing

Contributions are welcome! Feel free to:

  • ๐Ÿ› Report bugs
  • ๐Ÿ’ก Suggest features
  • ๐Ÿ”ง Submit pull requests
  • ๐Ÿ“š Improve documentation

๐Ÿ“œ License

MIT License - see LICENSE for details.


๐ŸŒŸ Enhance Your AI with Secure Shell Access! ๐ŸŒŸ

Built for the Model Context Protocol | Made with โค๏ธ by the MCP Community

-
security - not tested
A
license - permissive license
-
quality - not tested

A secure server that enables AI applications to execute shell commands in specified directories, supporting multiple shell types (bash, sh, cmd, powershell) with built-in security features like directory isolation and timeout control.

  1. โœจ Features
    1. ๐Ÿš€ Quick Start
      1. Installation
        1. ๐Ÿ”Œ Claude Desktop Integration
        2. ๐ŸŽฎ Usage Examples
          1. Basic File Operations
            1. Project Management
              1. System Information
                1. File Processing
                  1. Windows-Specific Examples
                  2. โš™๏ธ Configuration
                    1. ๐Ÿ›ก๏ธ Security Features
                      1. ๐Ÿ› ๏ธ Development
                        1. ๐Ÿค Contributing
                          1. ๐Ÿ“œ License
                            1. ๐ŸŒŸ Enhance Your AI with Secure Shell Access! ๐ŸŒŸ