Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2025 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Mcp Shell Server

    A secure shell command execution server implementing the Model Context Protocol (MCP). This server allows remote execution of whitelisted shell commands with...

    144 stars
    Python
    Updated Sep 8, 2025

    Documentation

    MCP Shell Server

    codecov

    smithery badge

    MseeP.ai Security Assessment Badge

    A secure shell command execution server implementing the Model Context Protocol (MCP). This server allows remote execution of whitelisted shell commands with support for stdin input.

    Features

    • Secure Command Execution: Only whitelisted commands can be executed
    • Standard Input Support: Pass input to commands via stdin
    • Comprehensive Output: Returns stdout, stderr, exit status, and execution time
    • Shell Operator Safety: Validates commands after shell operators (; , &&, ||, |)
    • Timeout Control: Set maximum execution time for commands

    MCP client setting in your Claude.app

    Published version

    shell
    code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    json
    {
      "mcpServers": {
        "shell": {
          "command": "uvx",
          "args": [
            "mcp-shell-server"
          ],
          "env": {
            "ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
          }
        },
      }
    }

    Local version

    Configuration

    shell
    code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    json
    {
      "mcpServers": {
        "shell": {
          "command": "uv",
          "args": [
            "--directory",
            ".",
            "run",
            "mcp-shell-server"
          ],
          "env": {
            "ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
          }
        },
      }
    }

    Installation

    Installing via Smithery

    To install Shell Server for Claude Desktop automatically via Smithery:

    bash
    npx -y @smithery/cli install mcp-shell-server --client claude

    Manual Installation

    Installing via Smithery

    To install Shell Server for Claude Desktop automatically via Smithery:

    bash
    npx -y @smithery/cli install mcp-shell-server --client claude

    Manual Installation

    bash
    pip install mcp-shell-server

    Installing via Smithery

    To install Shell Server for Claude Desktop automatically via Smithery:

    bash
    npx -y @smithery/cli install mcp-shell-server --client claude

    Usage

    Starting the Server

    bash
    ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
    # Or using the alias
    ALLOWED_COMMANDS="ls,cat,echo" uvx mcp-shell-server

    The ALLOW_COMMANDS (or its alias ALLOWED_COMMANDS ) environment variable specifies which commands are allowed to be executed. Commands can be separated by commas with optional spaces around them.

    Valid formats for ALLOW_COMMANDS or ALLOWED_COMMANDS:

    bash
    ALLOW_COMMANDS="ls,cat,echo"          # Basic format
    ALLOWED_COMMANDS="ls ,echo, cat"      # With spaces (using alias)
    ALLOW_COMMANDS="ls,  cat  , echo"     # Multiple spaces

    Request Format

    python
    # Basic command execution
    {
        "command": ["ls", "-l", "/tmp"]
    }
    
    # Command with stdin input
    {
        "command": ["cat"],
        "stdin": "Hello, World!"
    }
    
    # Command with timeout
    {
        "command": ["long-running-process"],
        "timeout": 30  # Maximum execution time in seconds
    }
    
    # Command with working directory and timeout
    {
        "command": ["grep", "-r", "pattern"],
        "directory": "/path/to/search",
        "timeout": 60
    }

    Response Format

    Successful response:

    json
    {
        "stdout": "command output",
        "stderr": "",
        "status": 0,
        "execution_time": 0.123
    }

    Error response:

    json
    {
        "error": "Command not allowed: rm",
        "status": 1,
        "stdout": "",
        "stderr": "Command not allowed: rm",
        "execution_time": 0
    }

    Security

    The server implements several security measures:

    1. Command Whitelisting: Only explicitly allowed commands can be executed

    2. Shell Operator Validation: Commands after shell operators (;, &&, ||, |) are also validated against the whitelist

    3. No Shell Injection: Commands are executed directly without shell interpretation

    Development

    Setting up Development Environment

    1. Clone the repository

    bash
    git clone https://github.com/yourusername/mcp-shell-server.git
    cd mcp-shell-server

    2. Install dependencies including test requirements

    bash
    pip install -e ".[test]"

    Running Tests

    bash
    pytest

    API Reference

    Request Arguments

    FieldTypeRequiredDescription
    commandstring[]YesCommand and its arguments as array elements
    stdinstringNoInput to be passed to the command
    directorystringNoWorking directory for command execution
    timeoutintegerNoMaximum execution time in seconds

    Response Fields

    FieldTypeDescription
    stdoutstringStandard output from the command
    stderrstringStandard error output from the command
    statusintegerExit status code
    execution_timefloatTime taken to execute (in seconds)
    errorstringError message (only present if failed)

    Requirements

    • Python 3.11 or higher
    • mcp>=1.1.0

    License

    MIT License - See LICENSE file for details

    Similar MCP

    Based on tags & features

    • VI

      Video Editing Mcp

      Python·
      218
    • AS

      Aseprite Mcp

      Python·
      92
    • IS

      Isaac Sim Mcp

      Python·
      83
    • PL

      Playwright Plus Python Mcp

      Python·
      154

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • VI

      Video Editing Mcp

      Python·
      218
    • AS

      Aseprite Mcp

      Python·
      92
    • IS

      Isaac Sim Mcp

      Python·
      83
    • PL

      Playwright Plus Python Mcp

      Python·
      154

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k