Skip to main content
Glama

mcp-shell-server

by tumf

Servidor de shell MCP

Un servidor de ejecución de comandos de shell seguro que implementa el Protocolo de Contexto de Modelo (MCP). Este servidor permite la ejecución remota de comandos de shell autorizados, compatibles con la entrada estándar.

Características

  • Ejecución segura de comandos : solo se pueden ejecutar los comandos incluidos en la lista blanca
  • Soporte de entrada estándar : pasa la entrada a los comandos a través de la entrada estándar
  • Salida completa : devuelve stdout, stderr, estado de salida y tiempo de ejecución
  • Seguridad del operador de shell : valida los comandos después de los operadores de shell (;, &&, ||, |)
  • Control de tiempo de espera : establece el tiempo máximo de ejecución de los comandos

Configuración del cliente MCP en su Claude.app

Versión publicada

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

Versión local

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

Instalación mediante herrería

Para instalar Shell Server para Claude Desktop automáticamente a través de Smithery :

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

Instalación manual

pip install mcp-shell-server

Instalación mediante herrería

Para instalar Shell Server para Claude Desktop automáticamente a través de Smithery :

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

Uso

Iniciando el servidor

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

La variable de entorno ALLOW_COMMANDS (o su alias ALLOWED_COMMANDS ) especifica qué comandos se pueden ejecutar. Los comandos se pueden separar por comas con espacios opcionales.

Formatos válidos para ALLOW_COMMANDS o ALLOWED_COMMANDS:

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

Formato de solicitud

# 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 }

Formato de respuesta

Respuesta exitosa:

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

Respuesta de error:

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

Seguridad

El servidor implementa varias medidas de seguridad:

  1. Lista blanca de comandos : solo se pueden ejecutar comandos explícitamente permitidos
  2. Validación del operador de shell : los comandos después de los operadores de shell (;, &&, ||, |) también se validan con la lista blanca
  3. Sin inyección de shell : los comandos se ejecutan directamente sin interpretación de shell

Desarrollo

Configuración del entorno de desarrollo

  1. Clonar el repositorio
git clone https://github.com/yourusername/mcp-shell-server.git cd mcp-shell-server
  1. Instalar dependencias, incluidos los requisitos de prueba
pip install -e ".[test]"

Ejecución de pruebas

pytest

Referencia de API

Argumentos de solicitud

CampoTipoRequeridoDescripción
dominiocadena[]Comando y sus argumentos como elementos de matriz
entrada estándarcadenaNoEntrada que se pasará al comando
directoriocadenaNoDirectorio de trabajo para la ejecución de comandos
se acabó el tiempoenteroNoTiempo máximo de ejecución en segundos

Campos de respuesta

CampoTipoDescripción
salida estándarcadenaSalida estándar del comando
error de error estándarcadenaSalida de error estándar del comando
estadoenteroCódigo de estado de salida
tiempo de ejecuciónflotarTiempo de ejecución (en segundos)
errorcadenaMensaje de error (solo aparece si falla)

Requisitos

  • Python 3.11 o superior
  • mcp>=1.1.0

Licencia

Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de ejecución de comandos de shell seguro que implementa el Protocolo de Contexto de Modelo (MCP). Este servidor permite la ejecución remota de comandos de shell autorizados, compatibles con la entrada estándar.

  1. Características
    1. Configuración del cliente MCP en su Claude.app
      1. Versión publicada
      2. Versión local
      3. Instalación mediante herrería
      4. Instalación manual
      5. Instalación mediante herrería
    2. Uso
      1. Iniciando el servidor
      2. Formato de solicitud
      3. Formato de respuesta
    3. Seguridad
      1. Desarrollo
        1. Configuración del entorno de desarrollo
        2. Ejecución de pruebas
      2. Referencia de API
        1. Argumentos de solicitud
        2. Campos de respuesta
      3. Requisitos
        1. Licencia

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A secure MCP server for executing whitelisted shell commands with resource and timeout controls, designed for integration with Claude and other MCP-compatible LLMs.
            Last updated -
            20
            143
            2
            TypeScript
            MIT License
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that provides secure command-line access to Windows systems, allowing MCP clients like Claude Desktop to safely execute commands in PowerShell, CMD, and Git Bash shells with configurable security controls.
            Last updated -
            9
            350
            105
            JavaScript
            MIT License
          • A
            security
            A
            license
            A
            quality
            A secure terminal execution server that enables controlled command execution with security features and resource limits via the Model Context Protocol (MCP).
            Last updated -
            1
            12
            1
            JavaScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            An MCP server that enables secure execution of shell commands across Windows, macOS, and Linux with built-in whitelisting and approval mechanisms for enhanced security.
            Last updated -
            13
            JavaScript
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          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/tumf/mcp-shell-server'

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