Lilith Shell
Servidor MCP experimental que expone la ejecución de comandos de shell locales a un asistente de IA.
Estado actual
Este repositorio debe tratarse como un prototipo, no como un servidor de shell seguro.
La implementación actual expone una herramienta MCP, execute_command, que ejecuta una cadena de comandos proporcionada por el llamador a través de subprocess.run(..., shell=True). Tiene un tiempo de espera fijo de cinco minutos, captura stdout y stderr, y acepta un directorio de trabajo opcional. Actualmente no implementa los controles de seguridad descritos anteriormente en este README.
Acción de perfil recomendada: archivar o desanclar este repositorio hasta que el modelo de seguridad sea reconstruido y probado.
Related MCP server: Terminal MCP Server
Advertencia de seguridad
No ejecute esto contra un host, cuenta o directorio que contenga credenciales, datos de producción, código fuente privado, claves SSH, tokens en la nube u otro material sensible.
Brechas conocidas en el código actual:
Sin aplicación de listas blancas o negras de comandos
Sin modos estricto, permisivo o de bloqueo
Sin aplicación de límites de directorio de trabajo
Sin filtrado de entorno
Sin saneamiento de salida
Sin registro de auditoría
Sin selección de shell mediante configuración
Sin salida en streaming
Sin ruta de ejecución específica para Windows
shell=Truese utiliza con entradas de herramientas no confiables
Estas brechas hacen que el proyecto no sea adecuado para su uso en producción y sea arriesgado incluso en una estación de trabajo de desarrollador normal.
Lo que funciona hoy
El servidor MCP registra una herramienta:
execute_commandentrada: cadena
commandentrada opcional: cadena
directory, con valor predeterminado~comportamiento: ejecuta el comando en el directorio solicitado y devuelve el código de salida, stdout y stderr
Lo que se eliminó del alcance
El README anterior afirmaba soporte para listas blancas de comandos, detección de comandos peligrosos, modos configurables, saneamiento de salida, registro de auditoría, confinamiento de directorio de trabajo, selección de shell multiplataforma y salida en streaming. Esas capacidades no están presentes en el árbol de fuentes actual.
Plan de parches mínimos antes de volver a publicar
Antes de que esto se presente como un servidor MCP orientado a la seguridad:
Reemplazar la ejecución de cadenas
shell=Truecon ejecución basada en argv.Agregar un modo estricto obligatorio por defecto, con listas blancas de comandos explícitas.
Canonicalizar y aplicar una raíz de espacio de trabajo configurada antes de cada comando.
Crear pruebas para el análisis de comandos, comandos bloqueados, recorrido de rutas, escapes de enlaces simbólicos, comportamiento de tiempo de espera y límites de salida.
Redactar patrones de secretos comunes de la salida devuelta.
Agregar manejo de salida acotada para que los comandos grandes no puedan agotar la memoria o inundar las respuestas de MCP.
Agregar registros de comandos auditables con marcas de tiempo, cwd, código de salida y motivo del bloqueo.
Documentar exactamente qué shells, plataformas y límites de amenazas son compatibles.
Desarrollo
pip install -e ".[dev]"
pytestLicencia
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/charles-adedotun/Lilith-Shell'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
