MCP em produção: OAuth 2.1, schemas validados e o gateway que precisa estar entre você e o agente
Tutoriais

MCP em produção: OAuth 2.1, schemas validados e o gateway que precisa estar entre você e o agente

29 May, 2026 Lucas Cardoso 7 visualizações

MCP local e MCP em produção não são o mesmo protocolo na prática

Implementações locais utilizam stdio com credenciais via variáveis de ambiente. Uma vez exposto à internet, o servidor torna-se um OAuth 2.0 Resource Server exigindo controles de segurança abrangentes.

Três pilares precisam mudar simultaneamente:

  • Transporte: stdio → Streamable HTTP
  • Autenticação: variáveis de ambiente → OAuth 2.1 com PKCE
  • Validação de schema: sugestões soltas → JSON Schema estrito

Streamable HTTP Transport

A especificação padronizou num único endpoint HTTP substituindo a abordagem SSE anterior. O header duplo Accept declara suporte a JSON e Server-Sent Events. O Mcp-Session-Id habilita rastreamento de estado de conexão, e Last-Event-Id suporta recuperação de stream.

Atenção: em modo local, sempre escute em 127.0.0.1, nunca em 0.0.0.0, para prevenir ataques de DNS rebinding.

OAuth 2.1 com PKCE e Resource Indicators

Três requisitos obrigatórios governam a autorização:

  1. PKCE é inegociável: clientes MCP devem implementar PKCE conforme OAuth 2.1 Seção 7.5.2, inclusive para clientes confidenciais.
  2. Resource Indicators (RFC 8707) são obrigatórios: cada requisição deve incluir o parâmetro resource com o URI canônico do servidor. O servidor valida que o claim aud do token corresponde exatamente, prevenindo ataques de confused deputy.
  3. Isolamento de token: o servidor MCP NÃO deve repassar o token recebido do cliente MCP para APIs upstream.

JSON Schema como Barreira de Segurança

Validação estrita de JSON Schema bloqueia uma classe significativa de ataques antes de chegarem à camada de aplicação.

{
  "type": "object",
  "properties": {
    "nome": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "pattern": "^[\\p{L}\\p{M}\\s\\.\\-']+$"
    }
  },
  "required": ["nome"],
  "additionalProperties": false
}

O schema estrito bloqueia tentativas de SQL injection, buffer overflow e injeção de campos inesperados antes que qualquer query seja construída.

O Gateway Corporativo

Deployments MCP em escala de produção requerem um gateway entre clientes e servidores. Responsabilidades incluem: terminação OAuth, aplicação de políticas, validação de schema, rate limiting, audit logging estruturado e detecção de MCPs sombra.

Opções open-source incluem mcp-context-forge (IBM), mcp-gateway (Microsoft) e a solução enterprise da Cloudflare.

Checklist de Hardening para Produção

  • Streamable HTTP ativo, SSE desabilitado
  • TLS com certificados válidos
  • OAuth 2.1 com PKCE obrigatório (S256)
  • Resource parameter (RFC 8707) validado
  • Todos os schemas com additionalProperties: false
  • Gateway de deployment obrigatório com audit logging estruturado

Comentários

Utilizamos cookies 🍪

Usamos cookies para melhorar a sua experiência no portal. Ao continuar, aceita a nossa política de privacidade.