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:
- 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
- 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:
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:
- Edite el conjunto
BLACKLISTED_COMMANDS
para ajustar los comandos bloqueados - Modifique la función
validateCommand
para agregar reglas de validación adicionales - Mejorar la lógica de análisis de comandos en el controlador
CallToolRequestSchema
You must be authenticated.
Tools
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.
- Features
- Installation
- Security Features
- Available Tools
- Blacklisted Commands
- Error Handling
- Implementation Details
- Development
Related Resources
Appeared in Searches
- Using MySQL STDiO with Node.js or Python to Implement an MCP Server
- Information about penetration testing (pentest)
- How to clone a Git repository, create a Gradle 8 project with Java 21 and Spring Boot REST API, compile it, and upload to Git
- Information about Gmail MCP Node
- Transferring a Dockerized Website from Local to Remote Server Using Cursor AI