Command-Line MCP Server
Um servidor MCP seguro para executar comandos de terminal com acesso controlado a diretórios e permissões de comando.
Documentação
Command-Line MCP Server
Um servidor MCP que permite que assistentes de IA executem comandos de terminal com segurança. Os comandos são categorizados (leitura/escrita/sistema), os diretórios são colocados na lista de permissões e padrões perigosos são bloqueados automaticamente.
Início Rápido
pip install cmd-line-mcp
# Or from source
git clone https://github.com/andresthor/cmd-line-mcp.git
cd cmd-line-mcp
pip install -e .
Execute o servidor:
cmd-line-mcp # default config
cmd-line-mcp --config config.json # custom config
Configuração do Claude Desktop
Adicione a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"cmd-line": {
"command": "/path/to/venv/bin/cmd-line-mcp",
"args": ["--config", "/path/to/config.json"],
"env": {
"CMD_LINE_MCP_SECURITY_REQUIRE_SESSION_ID": "false",
"CMD_LINE_MCP_SECURITY_AUTO_APPROVE_DIRECTORIES_IN_DESKTOP_MODE": "true"
}
}
}
}
Reinicie o Claude Desktop depois de salvar.
[!TIP] Defina
require_session_id: falsepara prevenir loops de aprovação no Claude Desktop.
Como Funciona
Os comandos passam por um pipeline de validação antes da execução:
- Correspondência de padrões — bloqueia construções perigosas (
system(), escapes de shell, etc.) - Classificação de comandos — cada comando deve estar na lista de leitura, escrita, sistema ou bloqueados
- Verificação de diretório — o diretório de destino deve estar na lista de permissões ou ser aprovado na sessão
- Verificação de aprovação — comandos de escrita/sistema exigem aprovação da sessão
Pipes, ponto e vírgula e & são suportados — cada segmento é validado independentemente.
O que é Permitido
| Categoria | Comandos | Aprovação |
|---|---|---|
| Leitura | ls, cat, grep, find, head, tail, sort, wc, … | Automática |
| Escrita | cp, mv, rm, mkdir, touch, chmod, awk, sed, … | Obrigatória |
| Sistema | ps, ping, curl, ssh, xargs, … | Obrigatória |
| Bloqueados | sudo, bash, sh, python, eval, … | Sempre negada |
O que é Bloqueado
Shells, interpretadores de script e vetores conhecidos de execução de comandos são bloqueados — incluindo execução indireta por meio de awk system(), sed /e, find -exec, tar --checkpoint-action, env e xargs. Consulte docs/SECURITY.md para a lista completa.
Configuração
O servidor funciona imediatamente com padrões sensatos. Personalize via configuração JSON, variáveis de ambiente ou arquivos .env:
# Whitelist directories
export CMD_LINE_MCP_SECURITY_WHITELISTED_DIRECTORIES="/projects,/var/data"
# Add commands (merges with defaults)
export CMD_LINE_MCP_COMMANDS_READ="jq,rg"
Consulte docs/CONFIGURATION.md para a referência completa de configuração, documentação das ferramentas MCP e detalhes de segurança de diretórios.
Licença
MIT