
Protegendo Servidores MCP com Okta via AgentCore Gateway
Eu passei grande parte deste ano pensando em como ajudar as equipes a adotarem IA. Os MCPs se tornaram uma parte importante dessa jornada porque, de repente, parece que toda empresa, mesmo aquelas que anteriormente se recusavam a expor uma API, agora tem um MCP.
Embora isso seja ótimo para os usuários finais, você precisa de uma estratégia para proteger os vários MCPs em uso. Uma maneira de conseguir isso é implantar um gateway centralizado onde você pode aplicar controles de governança. Como um bônus, seus desenvolvedores podem adicionar apenas uma configuração de servidor MCP, e todas as ferramentas dos MCPs-alvo, GitHub, Jira, Linear, Notion, você nomeia, estarão acessíveis através do MCP unificado.
Amazon Bedrock AgentCore Gateway pode ajudá-lo a fazer isso. Ele fica na frente dos seus servidores MCP e apresenta aos clientes MCP um único ponto de extremidade onde as equipes de segurança podem impor a política organizacional. Veja como isso pode parecer:
Se isso parece ser seu objetivo final, vamos começar com um pouco de teoria primeiro!
Documentos de Metadados do ID do Cliente - CIMD
Antes do CIMD, a história original de autenticação para MCP girava em torno do Registro Dinâmico de Clientes. A ideia era que você poderia deixar clientes MCP como Claude Code ou VS Code se registrarem automaticamente com o servidor de autorização que protege um servidor MCP. Isso sempre foi um não-iniciador para a maioria das empresas, pois ia contra a segurança permitir que clientes aleatórios se registrassem com seu servidor de autorização.
Entrou o CIMD. A inovação central do CIMD é permitir que clientes OAuth se identifiquem usando uma URL. Um cliente como VS Code ou Claude Code hospeda um documento de metadados JSON em uma URL bem conhecida e essa URL também serve como o ID do cliente. Aqui está o do VS Code:
{
"client_name": "Visual Studio Code",
"logo_uri": "https://code.visualstudio.com/assets/branding/code-stable.png",
"grant_types": [
"authorization_code",
"refresh_token",
"urn:ietf:params:oauth:grant-type:device_code"
],
"response_types": [
"code"
],
"token_endpoint_auth_method": "none",
"application_type": "native",
"client_id": "https://vscode.dev/oauth/client-metadata.json",
"client_uri": "https://vscode.dev/product",
"redirect_uris": [
"http://127.0.0.1:33418/",
"https://vscode.dev/redirect"
]
}
Em seu IDE ou agente de codificação, você configuraria o servidor MCP como abaixo. Observe que definir MCP-Protocol-Version para 2025-11-25 é necessário, pois essa é a versão da especificação MCP que introduziu o CIMD.
{
"servers": {
"example": {
"url": "https://example-mcp-server.com/mcp",
"type": "http",
"oauth": {
"clientId": "https://vscode.dev/oauth/client-metadata.json"
},
"headers": {
"MCP-Protocol-Version": "2025-11-25"
}
}
},
"inputs": []
}
Quando seu IDE ou agente de codificação tenta se autenticar com o MCP, o servidor de autorização do MCP busca o documento de metadados do cliente usando o ID do cliente em forma de URL e valida que o client_id no documento de metadados corresponde à URL apresentada. Existem uma série de outros passos de validação recomendados, mas uma vez concluídos, o servidor de autorização pode então usar os valores no documento de metadados em suas decisões de autorização.
Infelizmente, a partir de maio de 2026, os servidores de autorização da Okta não suportam CIMD.
O proxy OAuth
Para contornar isso, precisaremos de um proxy. Em vez de registrar os clientes CIMD na Okta, criamos um cliente nativo da Okta. Nosso proxy mapeia qualquer cliente MCP CIMD autorizado para esse cliente e realiza o fluxo de autorização da Okta. Para que isso funcione com o gateway, registraremos o ID do cliente do aplicativo nativo da Okta — não a URL CIMD — no campo allowedClients do AgentCore Gateway.
Nosso proxy faz mais do que apenas substituir o cliente da Okta. Ele realiza os passos de validação CIMD recomendados mencionados anteriormente. Por exemplo, ele verifica se o redirect_uri solicitado é
Com a crescente adoção de MCPs, as empresas brasileiras precisam implementar estratégias de segurança robustas. O uso de gateways centralizados pode facilitar a governança e a proteção de dados, essencial para a conformidade e segurança organizacional.

