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