CLI Exec

Execute comandos shell com saída estruturada através de um poderoso servidor CLI.

Documentação

Servidor MCP mcp-cli-exec

Um poderoso servidor MCP de execução de comandos CLI que permite executar comandos shell com saída estruturada. Este pacote foca especificamente na funcionalidade de execução de comandos, diferenciando-se de outras ferramentas MCP de CLI.

Recursos

Ferramentas

cli-exec-raw

Execute um comando CLI bruto e retorne saída estruturada

  • Recebe uma string de comando e timeout opcional (padrão: 5 minutos)
  • Retorna resultados detalhados de execução, incluindo stdout, stderr e código de saída
  • Trata erros de forma elegante com respostas de erro estruturadas

cli-exec

Execute um ou mais comandos CLI em um diretório de trabalho específico

  • Suporta comandos individuais, comandos encadeados com && ou array de comandos
  • Todos os comandos executam no diretório de trabalho especificado
  • Retorna resultados detalhados para cada comando:
    • Status de sucesso/falha
    • Código de saída
    • stdout e stderr (códigos ANSI removidos)
    • Duração da execução
    • Diretório de trabalho
  • Interrompe no primeiro comando com falha
  • Timeout opcional por comando (padrão: 5 minutos)

Nota: Devido a limitações de contexto de execução, cada comando é executado de forma independente. Mudanças de diretório (cd) dentro dos comandos não afetam comandos subsequentes. Todos os comandos executam no diretório de trabalho especificado inicialmente.

Formato de Saída

Os comandos retornam resultados estruturados, incluindo:

  • Status de sucesso/falha
  • Código de saída
  • stdout e stderr (com códigos ANSI removidos)
  • Duração da execução
  • Diretório de trabalho
  • Informações detalhadas de erro, quando aplicável

Exemplo de Uso

cli-exec-raw

Execução simples de comando:

{
  "command": "echo Hello World"
}

Com timeout:

{
  "command": "long-running-script.sh",
  "timeout": 300000
}

cli-exec

Comando único em diretório específico:

{
  "workingDirectory": "/path/to/project",
  "commands": "npm install"
}

Múltiplos comandos (todos executam no mesmo diretório de trabalho):

{
  "workingDirectory": "C:\\project",
  "commands": [
    "dir /b",
    "npm run build"
  ]
}

Instalação

Opcionalmente, instale via npm:

npm install -g mcp-cli-exec
# or with pnpm
pnpm add -g mcp-cli-exec

Ou use apenas npx na sua configuração

Para a Extensão Cline do VSCode

Adicione ao %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 o Claude Desktop

Adicione ao arquivo de configuração apropriado:

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"]
    }
  }
}

Configuração Especial para Windows

Se você encontrar o problema ENOENT spawn npx no Windows, use esta configuração alternativa que especifica os caminhos completos:

{
  "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"
      ]
    }
  }
}

Desenvolvimento

Instale as dependências:

pnpm install

Compile o servidor:

pnpm run build

Para desenvolvimento com recompilação automática:

pnpm run watch

Depuração

Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. O MCP Inspector fornece ferramentas úteis de depuração:

pnpm run inspector

Isso fornecerá uma URL para acessar o inspector no seu navegador, onde você pode:

  • Visualizar todas as mensagens MCP
  • Inspecionar payloads de requisição/resposta
  • Testar ferramentas interativamente
  • Monitorar o estado do servidor

Tratamento de Erros

O servidor inclui tratamento abrangente de erros:

  • Validação de entrada para todos os parâmetros das ferramentas
  • Respostas de erro estruturadas
  • Tratamento de timeout de comandos
  • Validação do diretório de trabalho
  • Remoção de códigos ANSI para saída limpa

Detalhes Técnicos

  • Construído com TypeScript e o SDK MCP
  • Usa execa para execução confiável de comandos
  • Timeout padrão de comando: 5 minutos
  • Suporta Windows e sistemas similares a Unix (use comandos apropriados para o seu SO, ex.: 'dir' vs 'ls')
  • Executa comandos sequencialmente, interrompendo no primeiro erro
  • Cada comando é executado de forma independente no diretório de trabalho especificado