CLI Exec
Ejecuta comandos de shell con salida estructurada a través de un potente servidor CLI.
Documentación
Servidor MCP mcp-cli-exec
Un potente servidor MCP de ejecución de comandos CLI que permite ejecutar comandos de shell con salida estructurada. Este paquete se enfoca específicamente en la funcionalidad de ejecución de comandos, diferenciándose de otras herramientas CLI de MCP.
Características
Herramientas
cli-exec-raw
Ejecuta un comando CLI sin procesar y devuelve salida estructurada
- Toma una cadena de comando y un tiempo de espera opcional (predeterminado: 5 minutos)
- Devuelve resultados de ejecución detallados, incluyendo stdout, stderr y código de salida
- Maneja errores de manera elegante con respuestas de error estructuradas
cli-exec
Ejecuta uno o más comandos CLI en un directorio de trabajo específico
- Admite comandos individuales, comandos encadenados con &&, o una matriz de comandos
- Todos los comandos se ejecutan en el directorio de trabajo especificado
- Devuelve resultados detallados para cada comando:
- Estado de éxito/fallo
- Código de salida
- stdout y stderr (códigos ANSI eliminados)
- Duración de la ejecución
- Directorio de trabajo
- Se detiene ante el primer fallo de comando
- Tiempo de espera opcional por comando (predeterminado: 5 minutos)
Nota: Debido a las limitaciones del contexto de ejecución, cada comando se ejecuta de forma independiente. Los cambios de directorio (cd) dentro de los comandos no afectan a los comandos posteriores. Todos los comandos se ejecutan en el directorio de trabajo especificado inicialmente.
Formato de Salida
Los comandos devuelven resultados estructurados que incluyen:
- Estado de éxito/fallo
- Código de salida
- stdout y stderr (con códigos ANSI eliminados)
- Duración de la ejecución
- Directorio de trabajo
- Información detallada de errores si corresponde
Ejemplo de Uso
cli-exec-raw
Ejecución de comando simple:
{
"command": "echo Hello World"
}
Con tiempo de espera:
{
"command": "long-running-script.sh",
"timeout": 300000
}
cli-exec
Comando único en directorio específico:
{
"workingDirectory": "/path/to/project",
"commands": "npm install"
}
Múltiples comandos (todos se ejecutan en el mismo directorio de trabajo):
{
"workingDirectory": "C:\\project",
"commands": [
"dir /b",
"npm run build"
]
}
Instalación
Opcionalmente, instalar desde npm:
npm install -g mcp-cli-exec
# or with pnpm
pnpm add -g mcp-cli-exec
O simplemente usar npx en su configuración
Para la Extensión Cline de VSCode
Agregar a %APPDATA%/Code - Insiders/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json:
{
"mcpServers": {
"mcp-cli-exec": {
"command": "npx",
"args": ["-y", "mcp-cli-exec"]
}
}
}
Para Claude Desktop
Agregar al archivo de configuración apropiado:
Windows: %APPDATA%/Claude/claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-cli-exec": {
"command": "npx",
"args": ["-y", "mcp-cli-exec"]
}
}
}
Configuración Especial para Windows
Si encuentra el problema ENOENT al iniciar npx en Windows, use esta configuración alternativa que especifica las rutas completas:
{
"mcpServers": {
"mcp-cli-exec": {
"command": "C:\\Users\\jim\\AppData\\Roaming\\nvm\\v22.1.0\\node.exe",
"args": [
"C:\\Users\\jim\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npx-cli.js",
"-y",
"mcp-cli-exec"
]
}
}
}
Desarrollo
Instalar dependencias:
pnpm install
Compilar el servidor:
pnpm run build
Para desarrollo con reconstrucción automática:
pnpm run watch
Depuración
Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser desafiante. El Inspector MCP proporciona herramientas de depuración útiles:
pnpm run inspector
Esto proporcionará una URL para acceder al inspector en su navegador, donde podrá:
- Ver todos los mensajes MCP
- Inspeccionar los payloads de solicitud/respuesta
- Probar herramientas de forma interactiva
- Monitorear el estado del servidor
Manejo de Errores
El servidor incluye un manejo integral de errores:
- Validación de entrada para todos los parámetros de herramientas
- Respuestas de error estructuradas
- Manejo de tiempo de espera de comandos
- Validación del directorio de trabajo
- Eliminación de códigos ANSI para una salida limpia
Detalles Técnicos
- Construido con TypeScript y el SDK de MCP
- Utiliza execa para una ejecución confiable de comandos
- Tiempo de espera predeterminado de comandos: 5 minutos
- Admite sistemas Windows y similares a Unix (use los comandos apropiados para su sistema operativo, por ejemplo, 'dir' vs 'ls')
- Ejecuta comandos secuencialmente, deteniéndose ante el primer fallo
- Cada comando se ejecuta de forma independiente en el directorio de trabajo especificado