
Meu Servidor MCP Foi Limitado Após Autenticação. Aqui Está a Solução em 5 Linhas.
Um usuário do Sentry MCP relatou isso em 18 de março: "todas as chamadas da API estão sendo limitadas em taxa dentro de alguns minutos após a autenticação." O handshake OAuth funciona bem. São as chamadas após a autenticação que silenciosamente queimam o orçamento, um loop de automação descontrolado já custou a uma equipe $47.000 em oito horas.
Se você executa um servidor MCP hoje, essa é a conta com a qual você acorda. Não é uma violação de segurança. Não é uma chave vazada. Apenas um agente educado fazendo o que foi instruído, atacando seu backend pago em velocidade de máquina porque o token disse que poderia.
OAuth responde à pergunta errada
A especificação MCP optou pelo OAuth 2.1 para autenticação. Isso é bom para "este chamador está autorizado a falar comigo." É silencioso sobre "com que frequência, quão rápido, quanto por chamada." O problema #844 do Sentry MCP é o exemplo canônico. Um usuário ativa Automação de Cursor contra o servidor Sentry MCP, atinge 60 req/60s na API Sentry subjacente em segundos, e cada chamada subsequente retorna erros de limite de taxa. O token é válido. Os limites sob ele não são responsabilidade do token.
Você não pode corrigir isso com um escopo mais restrito na concessão OAuth. Os escopos dizem o que o chamador pode acessar, não com que frequência. Você não pode corrigir isso com uma chave de API estática pela mesma razão. A especificação MCP deixa a cobrança, limitação e mitigação de abusos inteiramente a cargo do operador. Portanto, o operador precisa trazer algo mais.
A camada que falta é a fricção por chamada
Existem dois tipos de fricção que funcionam para um caminho de agente para servidor:
- Computação. O chamador gasta tempo de CPU em um quebra-cabeça de prova de trabalho para cada chamada. Grátis em dólares, custa segundos. Limita a taxa de transferência de um loop descontrolado sem cobrar de ninguém.
- Sats. O chamador paga uma fatura Lightning para cada chamada. Alguns sats por chamada, liquidadas em menos de dois segundos, sem conta, sem cartão de crédito.
Qualquer um dos dois desacelera um loop descontrolado para uma caminhada. Ambos funcionam para agentes autônomos porque nenhum deles precisa de um endereço de e-mail ou de um link de confirmação. O agente apenas gasta algo que possui, e então continua.
Esta é a camada que está faltando na especificação MCP, e é onde a conta de $47K é interrompida.
A correção de 5 linhas
npm install @powforge/captcha-mcp
{
"mcpServers": {
"captcha": { "command": "npx", "args": ["-y", "@powforge/captcha-mcp"] }
}
}
É isso. Cinco linhas incluindo o comando de instalação. O servidor roda sobre stdio, expõe três ferramentas (challenge, verify, status), e seu agente agora precisa resolver um quebra-cabeça de PoW ou pagar 3 sats via Lightning antes de obter um token que seu backend aceitará.
Como funciona em 30 segundos
O agente chama challenge. O servidor retorna {id, salt, difficulty, signature}. A dificuldade padrão é de 14 bits de zero à frente de SHA-256, o que custa ao agente cerca de 5 a 10 segundos de CPU em uma máquina normal.
Se o agente não quiser gastar os segundos, ele pede o caminho L402 em vez disso. O servidor retorna uma fatura bolt11 no cabeçalho padrão WWW-Authenticate. O agente paga a fatura de qualquer carteira Lightning, recebe um hash de pagamento de volta e o envia para verify em vez de um nonce de PoW.
Qualquer caminho retorna a mesma forma: um token assinado por HMAC de 5 minutos. Suas chamadas de backend POST /api/token/verify contra o serviço captcha, obtêm {valid: true, method, issued_at, expires_at} ou {valid: false, reason}, e prosseguem.
O equilíbrio de custos é o que faz funcionar. PoW é grátis em dólares, mas limita você a uma chamada a cada poucos segundos por CPU. Lightning custa 3 sats por chamada, mas liquida rapidamente. Um chamador humano educado resolve PoW uma vez e segue em frente. Um agente descontrolado é reduzido a um ponto morto na velocidade de computação ou queima sats que ele precisa realmente ter em mãos. De qualquer forma, seu orçamento de API para de sangrar.
Por que não contas
Agentes não têm endereços de e-mail. Eles não clicam em links de confirmação. Eles não preenchem telas de consentimento do OAuth. Todos os padrões de autenticação existentes foram construídos para humanos e adaptados para agentes mais tarde, que é a razão pela qual o padrão de token emitido e depois atacado é tão comum. PoW e Lightning funcionam porque nenhum deles pede ao chamador para ser uma pessoa.
Você também não assume uma dependência de cobrança. Sem Stripe, sem fornecedor de chave de API medida, sem mínimos mensais. O servidor captcha-mcp é apenas Node da biblioteca padrão, roda em 80 linhas, e o caminho L402 liquida diretamente para seu próprio LNBits ou nó LND.
Experimente
- npm: npmjs.com/package/@powforge/captcha-mcp
- Fonte: github.com/zekebuilds-lab/captcha-mcp
- Serviço de captcha hospedado: powforge.dev/captcha
Se você enviar um servidor MCP e tem perdido o sono sobre o que acontece após o handshake OAuth, instale-o esta noite. Cinco linhas. Três ferramentas. Sua conta de agente descontrolado para.
Zeke
Empresas que utilizam servidores MCP podem enfrentar custos elevados devido a chamadas excessivas de API. A implementação de fricção pode ajudar a mitigar esses custos, garantindo que agentes autônomos não sobrecarreguem os sistemas. Essa abordagem é crucial para a sustentabilidade financeira de operações que dependem de automações.

