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

PyPI version Python Versions License: MIT

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: false para prevenir loops de aprovação no Claude Desktop.


Como Funciona

Os comandos passam por um pipeline de validação antes da execução:

  1. Correspondência de padrões — bloqueia construções perigosas (system(), escapes de shell, etc.)
  2. Classificação de comandos — cada comando deve estar na lista de leitura, escrita, sistema ou bloqueados
  3. Verificação de diretório — o diretório de destino deve estar na lista de permissões ou ser aprovado na sessão
  4. 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

CategoriaComandosAprovação
Leiturals, cat, grep, find, head, tail, sort, wc, …Automática
Escritacp, mv, rm, mkdir, touch, chmod, awk, sed, …Obrigatória
Sistemaps, ping, curl, ssh, xargs, …Obrigatória
Bloqueadossudo, 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