Servidor MCP ejecutor de comandos
Un servidor de protocolo de contexto modelo para ejecutar comandos previamente aprobados de forma segura.
🎥 Demostración
https://github.com/user-attachments/assets/ed763a12-b685-4e0b-b9a5-bc948a590f51
Related MCP server: Windows Command Line MCP Server
✨ Características
Ejecución segura de comandos con una lista de comandos previamente aprobada
Comandos permitidos configurables a través de variables de entorno
Desarrollado con TypeScript y MCP SDK
Comunicación a través de stdio para una integración perfecta
Manejo de errores y validaciones de seguridad
Transmisión de salida de comandos en tiempo real
🚀 Instalación
Instalar dependencias:
Construir el servidor:
Para desarrollo con reconstrucción automática:
⚙️ Configuración
🔒 Comandos permitidos
De forma predeterminada, se permiten los siguientes comandos:
git
es
mkdir
cd
npm
npx
pitón
Puede personalizar los comandos permitidos configurando la variable de entorno ALLOWED_COMMANDS :
🔌 Integración de escritorio de Claude
Para utilizar con Claude Desktop, agregue la configuración del servidor:
En MacOS:
En Windows:
Ejemplo de configuración:
🛡️ Consideraciones de seguridad
El servidor ejecutor de comandos implementa varias medidas de seguridad:
Lista de comandos preaprobada
Sólo se pueden ejecutar comandos explícitamente permitidos
La lista predeterminada es restrictiva y se centra en la seguridad.
Los comandos se validan mediante prefijo para evitar la inyección.
Validación de comandos
La validación del prefijo de comando evita la inyección de comandos
No se ejecuta el shell para mejorar la seguridad
Las variables de entorno se desinfectan adecuadamente
Manejo de errores
Manejo integral de errores para comandos no autorizados
Borrar mensajes de error para depuración
Los comandos fallidos no bloquean el servidor
Aislamiento ambiental
El servidor se ejecuta en su propio entorno
Las variables de entorno se pueden controlar
Acceso limitado al sistema
💻 Desarrollo
📁 Estructura del proyecto
🐛 Depuración
Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP :
El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.
🛠️ API de herramientas
El servidor proporciona una única herramienta:
ejecutar_comando
Ejecuta un comando previamente aprobado.
Parámetros:
command(cadena, obligatorio): el comando a ejecutar
Ejemplo de solicitud:
Ejemplo de respuesta:
Respuesta de error:
❌ Manejo de errores
El servidor proporciona mensajes de error detallados para varios escenarios:
Comandos no autorizados
{ "code": "InvalidParams", "message": "Command not allowed: [command]. Allowed commands: git, ls, mkdir, cd, npm, npx, python" }Fallos de ejecución
{ "content": [ { "type": "text", "text": "Command execution failed: [error message]" } ], "isError": true }
🤝 Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones
Confirme sus cambios
Empujar hacia la rama
Crear una nueva solicitud de extracción
📄 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.