Gateway MCP (Floopy como servidor MCP)
Visão geral
Seção intitulada “Visão geral”O Gateway transforma a Floopy em um servidor MCP ao qual seus agentes podem se conectar. Cada agente usa seu próprio bearer token, escopado para os recursos que precisa e revogável a qualquer momento. Toda chamada de ferramenta é auditada por requisição — você sempre sabe qual agente fez o quê, quando e em nome de quem.
Endpoint:
https://api.floopy.ai/mcpAutenticação é Authorization: Bearer <token> em toda requisição.
Criando um token
Seção intitulada “Criando um token”No dashboard, acesse MCP → Gateway → Novo token. Você escolhe:
- Nome — ex.
Claude Desktop · AnaouBot interno de eval. - Scopes — um ou mais do catálogo. O wildcard
*concede todos os escopos atuais e futuros; use com parcimônia.
O token é exibido uma vez na criação. A Floopy faz hash dele ao salvar — não há como recuperar o texto plano depois. Guarde no seu gerenciador de senhas ou cofre imediatamente.
Configs prontas
Seção intitulada “Configs prontas”O modal de Reveal no dashboard gera configs prontos para colar nos principais clientes MCP. Abaixo, a forma canônica de cada um.
~/Library/Application Support/Claude/claude_desktop_config.json:
{ "mcpServers": { "floopy": { "url": "https://api.floopy.ai/mcp", "headers": { "Authorization": "Bearer flpy_..." } } }}claude mcp add floopy \ --transport http \ --url https://api.floopy.ai/mcp \ --header "Authorization: Bearer flpy_..."Settings → Connectors → Add custom connector:
Name: FloopyServer URL: https://api.floopy.ai/mcpAuth type: Bearer tokenToken: flpy_...~/.cursor/mcp.json:
{ "mcpServers": { "floopy": { "url": "https://api.floopy.ai/mcp", "headers": { "Authorization": "Bearer flpy_..." } } }}curl https://api.floopy.ai/mcp \ -H "Authorization: Bearer flpy_..." \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'O que é validado
Seção intitulada “O que é validado”Toda requisição passa pelo mesmo pipeline:
- Autenticação do token — o bearer é hashado e procurado em
mcp_tbac_tokens. Tokens desconhecidos / expirados retornam erro JSON-RPC-32001. - Rate limit por chave + por org — sliding window em Redis. Por chave: o RPM do plano; por org: 10× isso por padrão. Excesso retorna JSON-RPC
-32003comdata.retry_after_secs. - Validação de scope —
tools/listfiltra para os scopes do token;tools/callrejeita scopes desconhecidos com-32602. - Budget por ferramenta —
export:read1/5min/org,routing:explain30/min/org + 10/min/key, ferramentas write 5–10/min/org. - Audit-first — toda leitura tem throttle 60s por
(org, key, route); toda escrita é audit-first (a linha de auditoria entra ANTES da mutação; falha aborta).
Revogação
Seção intitulada “Revogação”Revogue um token em MCP → Gateway → ⋯ → Revogar. O token é invalidado na próxima requisição — caches Redis expiram em mcp.tbac_cache_ttl_secs (padrão 60s).
Para revogação imediata em toda a frota, gire também o FLOOPY_TBAC_PEPPER — todos os hashes existentes invalidam de uma vez.
Versão do protocolo
Seção intitulada “Versão do protocolo”A Floopy anuncia MCP 2025-06-18 na resposta de initialize, com negociação backward-compat para clientes mais antigos. O transporte é HTTP JSON-RPC 2.0 (Streamable HTTP transport para SSE-streaming está no roadmap; hoje o wire format é application/json).
Veja o catálogo de scopes para os 12 escopos suportados e quais ferramentas eles expõem.