local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Allows execution of whitelisted shell commands with comprehensive security features including command and flag whitelisting, path validation, and protection against injection attacks.
Servidor CLI MCP
Una implementación de servidor de Protocolo de contexto de modelo (MCP) seguro para ejecutar operaciones de línea de comandos controladas con funciones de seguridad integrales.
Tabla de contenido
- Descripción general
- Características
- Configuración
- Herramientas disponibles
- Uso con Claude Desktop
- Características de seguridad
- Manejo de errores
- Desarrollo
- Licencia
Descripción general
Este servidor MCP permite la ejecución segura de la línea de comandos con sólidas medidas de seguridad, como la creación de listas blancas de comandos, la validación de rutas y los controles de ejecución. Es perfecto para proporcionar acceso CLI controlado a aplicaciones LLM, manteniendo la seguridad.
Características
- 🔒 Ejecución segura de comandos con validación estricta
- ⚙️ Lista blanca de comandos y banderas configurables con opción "todos"
- 🛡️ Prevención y validación de recorridos de ruta
- Protección contra inyecciones del operador de Shell
- ⏱️ Tiempos de espera de ejecución y límites de longitud
- 📝 Informe detallado de errores
- 🔄 Soporte para operaciones asíncronas
- 🎯 Restricción y validación del directorio de trabajo
Configuración
Configurar el servidor usando variables de entorno:
Variable | Descripción | Por defecto |
---|---|---|
ALLOWED_DIR | Directorio base para la ejecución de comandos (obligatorio) | Ninguno (obligatorio) |
ALLOWED_COMMANDS | Lista separada por comas de comandos permitidos o 'todos' | ls,cat,pwd |
ALLOWED_FLAGS | Lista separada por comas de banderas permitidas o 'todas' | -l,-a,--help |
MAX_COMMAND_LENGTH | Longitud máxima de la cadena de comandos | 1024 |
COMMAND_TIMEOUT | Tiempo de espera de ejecución del comando (segundos) | 30 |
ALLOW_SHELL_OPERATORS | Permitir operadores de shell (&&, |
Nota: Establecer ALLOWED_COMMANDS
o ALLOWED_FLAGS
en 'all' permitirá cualquier comando o bandera respectivamente.
Instalación
Para instalar CLI MCP Server para Claude Desktop automáticamente a través de Smithery :
Herramientas disponibles
comando_ejecutar
Ejecuta comandos CLI incluidos en la lista blanca dentro de directorios permitidos.
Esquema de entrada:
Notas de seguridad:
- Los operadores de shell (&&, |, >, >>) no son compatibles de forma predeterminada, pero se pueden habilitar con
ALLOW_SHELL_OPERATORS=true
- Los comandos deben estar en la lista blanca a menos que ALLOWED_COMMANDS='all'
- Las banderas deben estar en la lista blanca a menos que ALLOWED_FLAGS='all'
- Se validan todas las rutas para que estén dentro de ALLOWED_DIR
mostrar_reglas_de_seguridad
Muestra la configuración de seguridad actual y las restricciones, incluidas:
- Directorio de trabajo
- Comandos permitidos
- Banderas permitidas
- Límites de seguridad (longitud máxima del comando y tiempo de espera)
Uso con Claude Desktop
Agregue a su ~/Library/Application\ Support/Claude/claude_desktop_config.json
:
Configuración de servidores no publicados/desarrollo
Configuración de servidores publicados
En caso de que no funcione o no se muestre en la interfaz de usuario, borre su caché mediante
uv clean
.
Características de seguridad
- ✅ Implementación de la lista blanca de comandos con la opción "todos"
- ✅ Validación de bandera con opción 'todas'
- ✅ Prevención y normalización de recorridos de ruta
- ✅ Bloqueo del operador de Shell (con soporte opt-in a través de
ALLOW_SHELL_OPERATORS=true
) - ✅ Límites de longitud de comandos
- ✅ Tiempos de espera de ejecución
- ✅ Restricciones del directorio de trabajo
- ✅ Resolución y validación de enlaces simbólicos
Manejo de errores
El servidor proporciona mensajes de error detallados para:
- Violaciones de seguridad (CommandSecurityError)
- Tiempos de espera de comandos (CommandTimeoutError)
- Formatos de comando no válidos
- Violaciones de seguridad de ruta
- Errores de ejecución (CommandExecutionError)
- Errores de comando generales (CommandError)
Desarrollo
Prerrequisitos
- Python 3.10+
- Biblioteca de protocolos MCP
Construcción y publicación
Para preparar el paquete para su distribución:
- Sincronizar dependencias y actualizar el archivo de bloqueo:Copy
- Distribuciones de paquetes de compilación:Copy
Esto creará distribuciones de origen y de rueda en el directorio
dist/
. - Publicar en PyPI:Copy
Depuración
Dado que los servidores MCP se ejecutan en stdio, la depuración puede ser complicada. Para una experiencia óptima, recomendamos usar el Inspector MCP .
Puede iniciar el Inspector MCP a través de npm
con este comando:
Al iniciarse, el Inspector mostrará una URL a la que podrá acceder en su navegador para comenzar a depurar.
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Para obtener más información o ayuda, abra un problema en el repositorio del proyecto.
You must be authenticated.
Interfaz de línea de comandos con ejecución segura y políticas de seguridad personalizables