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