Shell MCP Server

local-only server

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

Integrations

  • Implemented as a Node.js application that follows the Model Context Protocol, offering command validation and secure shell command execution.

  • Provides secure execution of shell commands with protective measures against dangerous operations including file system destruction, permission changes, and privilege escalation.

Servidor MCP de Shell

Una implementación en Node.js del Protocolo de Contexto de Modelo (MCP) que proporciona capacidades de ejecución segura de comandos de shell. Este servidor permite que los modelos de IA ejecuten comandos de shell en un entorno controlado con medidas de seguridad integradas. Se integra fácilmente con Claude Desktop para conectar Claude con su shell.

Características

  • Implementación de servidor compatible con MCP
  • Ejecución segura de comandos con protección de lista negra
  • Validación de existencia de comando
  • Transporte basado en E/S estándar
  • Manejo de errores y apagado elegante

Instalación

Ejecute npx mcp-shell .

Para añadirlo a Claude Desktop, ejecute npx mcp-shell config . O bien, añada npx -y mcp-shell manualmente a su configuración.

Inicie (o reinicie) Claude Desktop y debería ver la herramienta MCP en la página de inicio.

Características de seguridad

El servidor implementa varias medidas de seguridad:

  1. Lista negra de comandos
    • Previene la ejecución de comandos peligrosos del sistema
    • Bloquea el acceso a modificaciones críticas del sistema.
    • Protege contra la destrucción del sistema de archivos.
    • Previene la escalada de privilegios
  2. Validación de comandos
    • Verifica la existencia del comando antes de su ejecución
    • Valida contra la lista negra
    • Devuelve mensajes de error claros para comandos no válidos

Herramientas disponibles

El servidor proporciona una herramienta:

comando_ejecutar

Ejecuta un comando de shell y devuelve su salida.

Esquema de entrada:

{ "type": "object", "properties": { "command": { "type": "string" } } }

Respuesta:

  • Éxito: Salida del comando como texto sin formato
  • Error: Mensaje de error en texto sin formato

Comandos en la lista negra

Las siguientes categorías de comandos están bloqueadas por seguridad:

  • Comandos de destrucción del sistema de archivos (rm, rmdir, del)
  • Comandos de disco/sistema de archivos (formato, mkfs, dd)
  • Comandos de permiso/propiedad (chmod, chown)
  • Comandos de escalada de privilegios (sudo, su)
  • Comandos de ejecución de código (exec, eval)
  • Comandos de comunicación del sistema (escritura, pared)
  • Comandos de control del sistema (apagado, reinicio, inicialización)

Manejo de errores

El servidor incluye un manejo integral de errores:

  • Errores de comando no encontrado
  • Errores de comando en la lista negra
  • Errores de ejecución
  • Errores del protocolo MCP
  • Apagado elegante en SIGINT

Detalles de implementación

El servidor está construido utilizando:

  • SDK de protocolo de contexto de modelo
  • StdioServerTransport para la comunicación
  • execa para la ejecución de comandos
  • command-exists para la validación de comandos

Desarrollo

Para modificar la configuración de seguridad, puede:

  1. Edite el conjunto BLACKLISTED_COMMANDS para ajustar los comandos bloqueados
  2. Modifique la función validateCommand para agregar reglas de validación adicionales
  3. Mejorar la lógica de análisis de comandos en el controlador CallToolRequestSchema

You must be authenticated.

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

Una implementación de Node.js del Protocolo de contexto de modelo que proporciona capacidades de ejecución segura de comandos de shell, lo que permite que los modelos de IA como Claude ejecuten comandos de shell en un entorno controlado con medidas de seguridad integradas.

  1. Features
    1. Installation
      1. Security Features
        1. Available Tools
          1. run_command
        2. Blacklisted Commands
          1. Error Handling
            1. Implementation Details
              1. Development
                ID: jwkd5nmnh7