MODULO 1.1

๐Ÿงญ Conceitos: CLI vs API vs MCP

Os tres caminhos para um agente conversar com sistemas externos โ€” e por que CLI domina em tokens e confiabilidade.

6
Topicos
15
Minutos
Basico
Nivel
Teoria
Tipo
1

๐ŸŒ API direta: o jeito tradicional

Chamar a API HTTP do servico direto do agente parece o caminho mais simples. Voce faz curl, o servidor devolve JSON, o agente le. Funciona, mas tem custos escondidos.

๐Ÿ“ก Como funciona na pratica

curl -X GET "https://api.exemplo.com/posts?limit=10"

Resposta tipica: JSON com dezenas de KB, dezenas de campos, e o agente paga em token cada um deles โ€” mesmo os que nao usa.

โœ“ Pros

  • โœ“Padrao universal โ€” existe para quase tudo
  • โœ“Documentacao madura na maior parte das APIs
  • โœ“Setup zero โ€” nada para instalar

โœ— Contras

  • โœ—JSON cru polui contexto do agente
  • โœ—Paginacao precisa ser orquestrada manualmente
  • โœ—Auth complexa: o agente tem que gerenciar tokens

๐Ÿ’ก Quando ainda faz sentido

Use API direta em integracoes de backend tradicional, onde o codigo do app processa o JSON antes de qualquer LLM ver. Para agente em producao, raramente vale a pena.

2

๐Ÿ”Œ MCP: a promessa que nao cumpriu (toda)

O Model Context Protocol (Anthropic, 2024) padronizou como agentes descobrem ferramentas. Voce instala um MCP server e o Claude Code ve todas as tools. Em teoria, perfeito.

๐Ÿ“Š O problema medido

  • 47.000 tokens - Carga tipica de descricoes MCP por sessao no Claude Code
  • 35ร— - Quanto MCP consome a mais que CLI para a mesma tarefa
  • 72% - Reliability em tarefas complexas (CLI mantem 100%)

๐Ÿ” Veja voce mesmo

/context  # no Claude Code
> MCP servers: 47.000 tokens carregados (sem voce invocar nada)

Cada descricao de tool fica sempre no contexto, ainda que voce nao chame nenhuma. E o "imposto de descoberta" do MCP.

โš ๏ธ Onde MCP fica perigoso

Tarefas com varios passos (write file, ler doc, chamar tool, decidir): cada passo carrega o overhead novamente. Em sessoes longas o agente comeca a "esquecer" โ€” porque a janela ja estava cheia desde o inicio.

3

โšก CLI: o vencedor para agentes

A CLI faz a request pesada, processa o JSON internamente, guarda em SQLite e so devolve ao agente o essencial. O JSON cru de 100k tokens nunca entra no contexto.

๐Ÿ“Ÿ Exemplo: pp-espn

$ espn-pp-cli games --league nba --date today

[NBA] Hoje (3 jogos):
  Lakers 112  @ Celtics 109   FINAL
  Warriors 98  @ Knicks 104   FINAL
  Heat 99     @ Mavericks 110 4Q 2:14

Saida: ~200 tokens. O JSON original da ESPN tinha mais de 100k. O agente consome so o resumo.

โœ“ Vantagens fortes

  • โœ“Output enxuto e estavel
  • โœ“Cache local em SQLite (offline)
  • โœ“Sem overhead fixo de contexto
  • โœ“Auth resolvida uma vez, fica salva
  • โœ“Composavel: pipes, &&, scripts

โš ๏ธ Contras (gerenciaveis)

  • ยทPrecisa instalar o binario
  • ยทCurva inicial para o time
  • ยทAtualizacao manual (resolvido com regen-merge)
4

๐Ÿ“Š Tabela comparativa

Olhando lado a lado, a diferenca aparece em todas as dimensoes que importam quando o agente esta em producao.

CriterioAPIMCPCLI
Tokens (overhead)AltoAlto fixoBaixo
Reliability complexaVariavel72%100%
Funciona offlineNaoNaoSim (cache)
ComposavelMedioNaoSim
Sem API publicaNaoNaoSim (browser-sniff)
SetupZeroMedioMedio
5

๐Ÿ’ฐ Caso real: Skool โ€” 132k โ†’ 2k tokens

O caso mais citado nos videos oficiais do Printing Press: a API do Skool (plataforma de comunidades) devolvia 132.000 tokens para uma tarefa de listar posts. A CLI reduziu para 2.000 โ€” 98,5% de economia.

1

CLI faz a chamada pesada

Em background, fora do contexto do agente

A request retorna 132k tokens de JSON cru, contendo posts, comentarios, autores, timestamps, embeds, metadados de moderacao, etc.

2

Persiste o bruto no SQLite

Para futuras queries locais

O JSON inteiro fica disponivel em disco. Queries como --full, --export, ou busca FTS5 leem do SQLite sem nova chamada.

3

Devolve so o resumo

Para o contexto do agente

~2k tokens com titulos, autor, data, engagement. Suficiente para o agente decidir o proximo passo.

๐Ÿ’ก Implicacao pratica

Em uma sessao com 20 chamadas como essa, voce economiza 2,6 milhoes de tokens. No plano Claude Code Pro, isso e a diferenca entre terminar o trabalho ou bater o limite no meio da tarde.

6

๐ŸŽฏ Quando escolher cada um

Nem tudo precisa virar CLI. A regra de bolso para nao over-engineerar e simples:

๐Ÿงญ Regra pratica

  • โ€ขAPI direta: backend tradicional (sem LLM no loop), batch jobs noturnos, ETL.
  • โ€ขMCP: prototipo rapido, tool muito dinamica usada todo dia, time sem appetite de instalar binario.
  • โ€ขCLI: agente em producao, tarefas repetitivas, sites sem API, cobertura offline.

๐Ÿ’ก Heuristica final

Se voce paga por token (Claude Code Pro, Anthropic API, OpenRouter), prefira CLI sempre que houver opcao. O payback acontece na primeira sessao.

โœ… Resumo do Modulo

โœ“
3 caminhos de integracao โ€” API, MCP, CLI, cada um com trade-off de tokens e reliability.
โœ“
MCP carrega imposto fixo โ€” descricoes ocupam contexto mesmo sem invocacao.
โœ“
CLI faz o trabalho pesado fora do contexto โ€” JSON cru fica no SQLite, agente ve so o resumo.
โœ“
Caso Skool โ€” 132k โ†’ 2k tokens, 98,5% de economia em uma chamada.
โœ“
Quando paga por token โ€” prefira CLI sempre que houver opcao.

Proximo Modulo:

1.2 โ€” Instalacao completa (Go, binario, skills, starter-pack)