-3

MCP vs CLI: Por Que a CLI ainda é a interface de alta performance para IAs e desenvolvedores

A Ilusão do MCP: Por Que a CLI Ainda é a Única Interface de Alta Performance para IAs

Enquanto o mercado se deslumbra com o Model Context Protocol (MCP), desenvolvedores de elite estão percebendo que abstrair ferramentas através de protocolos JSON-RPC cria um gargalo de latência, custo e imprecisão. Este manifesto técnico disseca por que a composição Unix (acli, gh, aws, kubectl) é ordens de magnitude superior a qualquer arquitetura baseada em agentes MCP, e como o futuro da IA não é sobre "plugins", mas sobre a maestria do Shell.


1. O Gancho: A Fábula do Agente Lento

São 2h da manhã. Um incidente de severidade 1 (Sev1) acaba de estourar. O cluster de produção está com 90% de taxa de erro. Você tem dois engenheiros na sala.

O Engenheiro A é um entusiasta do "AI-Native". Ele abre seu cliente de IA configurado com 15 servidores MCP. Ele digita: "Claude, analise os logs do serviço de checkout, identifique o erro e aplique o fix".
O Claude começa a "pensar". Ele chama o servidor MCP do Kubernetes. O servidor responde com um JSON gigante contendo a lista de todos os pods. O Claude lê (gastando 4.000 tokens). Ele decide qual pod inspecionar. Chama o servidor MCP de logs. O log vem truncado porque o buffer do protocolo MCP expirou. O Claude tenta de novo. Cinco minutos se passam em uma conversa assíncrona e custosa entre o modelo e o protocolo.

O Engenheiro B ignora o hype. Ele abre o terminal e digita:
kubectl logs -l app=checkout --tail=100 | grep "ERROR" | acli issue create --summary "Sev1: Checkout Breakdown" --description -
Em 15 segundos, o erro foi identificado (um conflito de versão de esquema no Postgres), o log foi capturado e um ticket no Jira foi criado via acli. Ele então cola apenas as 10 linhas relevantes do erro para o Claude e diz: "Explique por que o Postgres está rejeitando este JSON". O Claude responde instantaneamente com a solução.

O Engenheiro A ainda está esperando o servidor MCP terminar de listar as Namespaces.

Este não é um caso isolado. É o sintoma de uma doença que está infectando a engenharia de software: a sobre-abstração do contexto. Estamos tentando construir "talheres de plástico" (MCP) para que a IA possa comer, quando a IA já é perfeitamente capaz de usar a "faca de caça" (CLI) se soubermos como dar a ela.


2. A Mudança de Modelo Mental: Do Imperativo ao Declarativo

Para entender por que a CLI ganha, precisamos entender a hierarquia da informação.

O Que MCP Realmente É (E O Que Não Te Contam)

O MCP (Model Context Protocol) é, na prática, um "Wrapper de Wrapper". Ele tenta transformar APIs proprietárias em um esquema JSON-RPC que o LLM consiga "entender".
O problema? O LLM já entende texto.
O Bash é a linguagem universal do texto. Ao usar MCP, você está pagando um "imposto de tradução":

  1. Perda de Fidelidade: O autor do servidor MCP decide o que expor. Se ele esqueceu uma flag crítica do gh, a IA nunca a verá.
  2. Latência de Turno: Cada chamada MCP é um turno de conversação extra.
  3. Explosão de Tokens: JSON é verboso. Uma tabela de CLI em texto plano é densa e eficiente.

CLI como a "Língua Materna" da Automação

A CLI foi projetada sob a Filosofia Unix: programas pequenos que fazem uma coisa bem e se comunicam via texto. A IA é, essencialmente, o processador de texto definitivo.
A conexão entre IA e CLI é orgânica. O MCP é um transplante de órgão que o sistema muitas vezes rejeita.


3. Deep Dive 1: Gestão de Tarefas (Acli vs. Jira MCP)

O Atlassian CLI (acli) é uma ferramenta de força bruta. Ele permite que você manipule o Jira, Confluence e Bitbucket sem nunca tirar as mãos do teclado.

O Cenário Real

Imagine que você precisa atualizar 50 tickets que estão parados em "In Review" há mais de 3 dias e adicionar um comentário de "Ping" para os donos.

Com MCP:
A IA terá que listar os tickets (JSON massivo). Depois, para cada ticket, ela enviará uma requisição de atualização. Se o Jira da sua empresa tem campos obrigatórios customizados que o servidor MCP não mapeou, o agente vai alucinar tentando adivinhar como preencher o campo.

Com CLI (acli + jq):
Você (ou a IA operando o shell) roda:

acli issue list --jql "status = 'In Review' AND updated < -3d" --plain | awk '{print $1}' | xargs -I {} acli issue comment {} --comment "Status update requested."

É determinístico. É binário. É impossível de o protocolo "atravessar" a informação.

Aversão à Perda: Ao usar MCP para Jira, você perde o controle granular sobre os metadados. O acli permite que você passe arquivos inteiros como descrição, anexe logs brutos e manipule estados de transição com precisão de microssegundos.


4. Deep Dive 2: O Ecossistema GitHub (gh vs. GitHub MCP)

A CLI gh é talvez a ferramenta mais bem escrita da última década. Ela expõe praticamente 100% da API do GitHub de forma ergonômica.

O Poder da Composição

Se você pedir para uma IA com MCP: "Encontre todos os PRs que mudaram o arquivo auth.ts no último mês e resuma o impacto".
O MCP do GitHub vai tentar listar PRs, depois filtrar, depois pegar o conteúdo de cada um. Isso vai estourar o limite de tokens em 30 segundos.

A Estratégia Vencedora (CLI-First):

gh pr list --state merged --json number,title,updatedAt --template '{{range .}}{{if (gt .updatedAt "2026-03-01T00:00:00Z")}}{{.number}} {{.title}}{{"\n"}}{{end}}{{end}}' | xargs -n 1 gh pr view --json files --template '{{range .files}}{{if eq .path "src/auth.ts"}}{{$.number}}{{end}}{{end}}'

A CLI filtra os dados antes de chegarem ao LLM. O LLM recebe apenas os números dos PRs relevantes.
Resultado: Você gastou 100 tokens. O MCP gastaria 50.000.


5. Deep Dive 3: Infraestrutura (AWS/K8s vs. Cloud MCPs)

Aqui é onde o MCP se torna perigoso. Abstrair o controle de infraestrutura atrás de um protocolo de agente é um convite ao desastre.

O Princípio da Inversão

Em vez de perguntar "IA, como está meu cluster?", você usa a CLI para extrair o estado e o LLM para diagnosticar.

Debug de K8s Invicto:

kubectl get events --sort-by='.lastTimestamp' | tail -n 20

Passe isso para a IA. Ela verá os erros de ImagePullBackOff ou OOMKilled imediatamente. Um servidor MCP de Kubernetes muitas vezes tenta "embelezar" o evento, removendo o Reason exato que o engenheiro precisa para consertar o problema.

AWS CLI (aws):
Tentar gerenciar permissões IAM via MCP é frustrante. As políticas são documentos JSON complexos.
Abordagem de Elite:

  1. IA escreve a política em um arquivo .json.
  2. IA gera o comando: aws iam put-user-policy --user-name dev-user --policy-name S3Access --policy-document file://policy.json.
  3. Você revisa e executa.
    Segurança: Você vê o comando exato que será executado. No MCP, a ação é opaca.

6. Análise de Custo-Benefício: O Imposto do Contexto

Vamos falar de dinheiro. O uso de IA em escala empresarial é caro.

O Zero-Price Effect (A Cilada do MCP "Grátis")

Muitos servidores MCP são open-source. Parece grátis. Mas o custo está no Context Window.

  • JSON (MCP): {"id": "ISS-123", "summary": "Fix bug", "status": "Open"} (Aprox. 25 tokens)
  • Texto (CLI): ISS-123 | Fix bug | Open (Aprox. 8 tokens)

Em um projeto com 1.000 interações diárias, a CLI economiza milhares de dólares em tokens de entrada. Além disso, a CLI não sofre de Paradoxo da Escolha. Quando você tem 20 ferramentas MCP, o LLM gasta tempo de processamento decidindo qual usar. Na CLI, a IA simplesmente executa o comando que você (ou o fluxo) determinou.


7. A Arquitetura Híbrida: O Futuro é o "Shell-Agent"

Não estamos dizendo para você abandonar a IA. Estamos dizendo para mudar a interface.

O Padrão "Transpiler"

A melhor forma de usar IA hoje é o que chamamos de Transpilação de Intenção para Bash.

  1. Intenção: "Preciso ver quem deletou a tabela orders no banco de produção nas últimas 2 horas."
  2. Processamento da IA: Ela não chama um "MCP-Postgres". Ela gera um comando psql:
SELECT action_tstamp_clk, row_data, query FROM audit.logged_actions WHERE table_name = 'orders' AND action = 'D' AND action_tstamp_clk > now() - interval '2 hours';
  1. Execução: O shell executa. O resultado (texto puro) volta para a IA analisar.

Esta arquitetura é Resiliente ao Tempo (Lindy Effect). O psql não vai mudar sua interface amanhã. O servidor MCP do Postgres pode parar de ser mantido pelo autor original na próxima semana.


8. Anti-Padrões: Quando o MCP é uma Âncora

  1. O "Agent Loop" Infinito: O agente MCP tenta fazer algo, o servidor retorna um erro de esquema, o agente tenta de novo com outro JSON. Você assiste o seu crédito de API sumir enquanto nada acontece.
  2. A Dependência de Schema: Se sua ferramenta CLI atualiza, você atualiza o binário e pronto. Se o MCP atualiza, você precisa que alguém tenha mapeado as novas funções para o protocolo.
  3. O Gargalo de Performance: Chamadas de sistema (CLI) são microssegundos. Chamadas de servidor MCP (geralmente via stdio ou HTTP) adicionam camadas de overhead que matam o workflow de "vibe coding".

9. Conclusão: O Retorno dos Fundamentos

O MCP é uma tentativa nobre de padronizar a internet das ferramentas. Para usuários não-técnicos, ele é uma ponte necessária. Para engenheiros de software, ele é uma abstração vazia.

O verdadeiro poder de um desenvolvedor na era da IA não está em saber configurar plugins, mas em saber compor comandos. Se você domina o Bash e as CLIs modernas como gh, acli e aws, você tem um superpoder que nenhum agente autônomo baseado em "clicks" ou "schemas" pode alcançar.

A IA é o motor. O contexto é o combustível. A CLI é a estrada.

Não deixe que protocolos complexos coloquem lombadas na sua rodovia de produtividade.

Sua Próxima Ação:
Desinstale aquele servidor MCP experimental que está falhando metade das vezes. Em vez disso, ensine sua IA a usar o man das suas CLIs favoritas. O resultado vai te surpreender.


Referência de Comandos de Elite

GitHub CLI (gh)

# Listar falhas em Actions e pegar o log direto para a IA
gh run list --status failure --limit 1 | awk '{print $1}' | xargs -I {} gh run view {} --log

Jira CLI (acli)

# Criar tickets em massa a partir de um arquivo de logs
grep "FATAL" error.log | acli issue create --project DEVOPS --type Bug --summary "Log error" --description -

Kubernetes (kubectl)

# Explicar por que o deployment falhou
kubectl describe deploy <name> | tail -n 20
Carregando publicação patrocinada...
2

Parabéns pelo artigo Anderson, para mim consegui assimilar bastante coisa, mas três delas vou citar aqui:

  • 1: Uso de token, de fato usar um recurso de MCP, raramente se é pensado o quanto isso gasta de recurso, e claro é nítido que daqui há algum tempo essas I.A irão encarecer mais os seus tokens.
  • 2: Decomposição e uso mais assertivo e performático da I.A, ou seja, saber decompor um problema, usando as ferramentas próprias para esse fim é essencial, como no exemplo de pedir para a própria I A gerar um comando Shell, usá-lo, pegar o resultado e lançar novamente, mas agora com mais refinamento do problema é excelente.
  • 3: O fundamento deve permanecer, visto a estabilidade das ferramentas nativas de CLI, complementando ou unindo isso a expertise da I.A, por exemplo ser cauteloso quanto a infra, visto que algo não supervisionado nessa parte pode lhe custar muito caro.
1
1

O grande ponto é todo ferramental que envolve um MCP vs CLI, como coloco no exemplo entre o mcp do jira e do github eu prefiro usar as alternativas via cli, para facilitar o uso basta criar uma skill, eu criei uma por exemplo qhe usa o gh cli + acli e faz oque eu preciso em uma linha se comando, consumindo o minimo possivel de tokens e contexto, entende?

1

Eu acho que faz sentido, mas nem toda IA tem acesso ao CLI, e acho que esse problema tem a ver com a qualidade do servidor MCP, acredito que com o tempo eles se tornem mais eficientes.

1

Mais do que isso, nem toda ferramenta tem um CLI rsrsrs
Bacana que algumas tem e pra isso vc vai ter um tool com un runtime pra rodar os comandos de CLI que fizerem sentido. Não acho que seja MCP vs CLI é MCP e CLI

1

Eu não discordo do seu ponto mas vou fazer o papel de advogado do diabo. MCP vem tentar evitar o acesso da llm ao terminal e a manipulação dele.

0
1

Chegou a ler o artigo completo no meu blog?

Tem 9 tópicos e termino assim:

  1. Conclusão: O Retorno dos Fundamentos
    O MCP é uma tentativa nobre de padronizar a internet das ferramentas. Para usuários não-técnicos, ele é uma ponte necessária. Para engenheiros de software, ele é uma abstração vazia.

O verdadeiro poder de um desenvolvedor na era da IA não está em saber configurar plugins, mas em saber compor comandos. Se você domina o Bash e as CLIs modernas como gh, acli e aws, você tem um superpoder que nenhum agente autônomo baseado em "clicks" ou "schemas" pode alcançar.

A IA é o motor. O contexto é o combustível. A CLI é a estrada.

Não deixe que protocolos complexos coloquem lombadas na sua rodovia de produtividade.

Sua Próxima Ação: Desinstale aquele servidor MCP experimental que está falhando metade das vezes. Em vez disso, ensine sua IA a usar o man das suas CLIs favoritas. O resultado vai te surpreender.

0