
Limitação de Gastos com Ferramentas MCP Usando o Proxy SatGate
Seu agente de IA acabou de queimar $500 durante a noite chamando o Google Search em um loop. Você descobriu quando a conta chegou. Soa familiar?
Se você está rodando Claude Code, Cursor ou Claude Desktop com ferramentas MCP, provavelmente já teve uma versão desse momento. Talvez tenha sido $50, talvez $5.000. O padrão é sempre o mesmo: um agente fica preso, entra em loop em uma chamada de ferramenta, e sua conta de API explode enquanto você dorme.
Há uma solução. E não envolve painéis de monitoramento, alertas do Slack ou esperar que você perceba a tempo.
O Problema: MCP Não Tem Limite de Cartão de Crédito
O Modelo de Contexto de Protocolo é brilhante no que faz: dar aos agentes de IA acesso estruturado a ferramentas. Motores de busca, bancos de dados, execução de código, geração de imagens — o MCP torna tudo isso disponível através de uma interface JSON-RPC limpa.
O que o MCP não faz é se preocupar com o custo. Cada solicitação tools/call flui para o servidor upstream sem nenhuma consciência orçamentária. A especificação não tem conceito de "você gastou demais" ou "pare aqui".
Isso cria um modo de falha específico e caro:
- Loops de agente — Um agente preso pode fazer milhares de chamadas de ferramenta antes que alguém perceba. Cada chamada custa dinheiro de verdade.
- Sem limites embutidos — A especificação MCP não inclui orçamento, cota ou mecanismo de custo.
- Limites de taxa não ajudam — Limites de taxa protegem servidores de sobrecarga. Eles não protegem sua carteira de um agente descontrolado que permanece dentro dos limites de taxa, mas queimando dinheiro por horas.
- Monitoramento manual é reativo — Quando você verifica um painel, o dano já está feito.
Cenário real: Um desenvolvedor deixou o Claude Code rodando durante a noite com um servidor MCP de busca na web. O agente entrou em um loop de raciocínio, chamou
brave_search3.200 vezes em 6 horas. Custo: $480 em créditos de API.
A Solução: Governança Econômica no Nível do Protocolo
O Proxy MCP da SatGate fica entre seu cliente MCP e seus servidores MCP. Ele intercepta cada tools/call, rastreia o custo em tempo real e impõe limites orçamentários rígidos — não alertas suaves, não avisos, aplicação real.
Quando o orçamento é esgotado, o proxy retorna HTTP 402 Payment Required. O agente recebe uma mensagem limpa "Orçamento excedido" e para.
O mecanismo de aplicação usa macaroons L402 — tokens criptográficos com restrições orçamentárias embutidas. Ao contrário das chaves de API (que concedem acesso ilimitado até serem revogadas), um macaroon pode codificar: "Este agente pode gastar até $5 em ferramentas de busca, expirando em 1 hora."
Como Funciona
Arquitetura
┌─────────────┐ ┌──────────────────┐ ┌────────────────┐
│ Claude Code │────▶│ SatGate Proxy │────▶│ MCP Server │
│ Cursor │◀────│ │◀────│ (search, db…) │
│ Claude │ │ ✓ Verificação de orçamento │ │ │
│ Desktop │ │ ✓ Rastreamento de custo │ │ │
│ │ │ ✓ 402 ao limite │ │ │
└─────────────┘ └──────────────────┘ └────────────────┘
Configuração
Apontar seu cliente MCP para a SatGate em vez de diretamente para o servidor upstream:
{
"mcpServers": {
"search": {
"command": "satgate-proxy",
"args": [
"--upstream", "npx @anthropic/mcp-server-brave-search",
"--budget", "500",
"--budget-window", "1h",
"--cost-per-call", "5"
]
}
}
}
É isso. Seu agente agora tem um limite rígido de 500 sats por hora em chamadas de busca. Sem mudanças de código. Sem modificações no agente.
O Que Acontece em Cada Chamada de Ferramenta
-
Interceptar — O proxy recebe a solicitação JSON-RPC
tools/call - Resolver custo — Procura o nome da ferramenta na tabela de custos
- Verificar orçamento — Compara o gasto acumulado com a restrição de orçamento do macaroon
- Encaminhar ou rejeitar — Se dentro do orçamento: encaminhar para upstream, debitar custo. Se acima do orçamento: retornar 402
// O que o agente vê quando o orçamento é esgotado:
{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "Orçamento excedido: 500/500 sats usados. Reiniciar em 23m."
}
}
O agente recebe um erro limpo, para de chamar a ferramenta e continua com outro trabalho.
Delegação de Macaroon
Macaroons L402 suportam atenuação — você pode pegar um token e adicionar restrições, mas nunca removê-las:
# Crie um macaroon raiz com orçamento de $10
satgate token create --budget 1000 --tools "web_search,database_query"
# Delegar a um agente: orçamento de $5, expira em 1 hora
satgate token attenuate <root-token> \
--max-budget 500 \
--expires 1h \
--tools "web_search"
Dê seu
Empresas brasileiras que utilizam ferramentas MCP podem enfrentar altos custos devido a loops de agentes. O Proxy SatGate oferece uma solução prática para controlar gastos, garantindo que os orçamentos sejam respeitados e evitando surpresas nas faturas.
