Como conectar servidores MCP ao Amazon Bedrock AgentCore Gateway usando Authorization Code Flow

O Amazon Bedrock AgentCore Gateway lançou um recurso que simplifica a conexão de servidores MCP protegidos por OAuth 2.0, utilizando o fluxo Authorization Code. Essa novidade oferece uma camada centralizada para gerenciar como agentes de IA acessam ferramentas e servidores MCP dentro das organizações, unificando autenticação, observabilidade e aplicação de políticas em um único ponto.
O que é o Amazon Bedrock AgentCore Gateway?
O AgentCore Gateway atua como uma interface única para que desenvolvedores e equipes acessem múltiplos servidores MCP (Machine Control Plane) com segurança e eficiência. Em vez de configurar individualmente cada conexão por IDE, as equipes podem apontar para uma URL única do Gateway, garantindo acesso consistente a todo o conjunto de ferramentas MCP. Isso é especialmente útil para organizações que utilizam servidores MCP de terceiros, como AWS, GitHub, Salesforce e Databricks, muitos dos quais exigem autenticação federada via OAuth 2.0.
Quem pode usar e qual o impacto prático?
Esse recurso é ideal para equipes de desenvolvimento e operações que gerenciam múltiplos servidores MCP protegidos por OAuth 2.0 e necessitam de uma solução escalável para autenticação delegada de usuários. Com o suporte ao Authorization Code flow, os agentes podem acessar servidores protegidos sem embutir credenciais no código ou gerenciar manualmente o ciclo de vida dos tokens, aumentando a segurança e simplificando o uso.
Como funciona o Authorization Code Flow no AgentCore Gateway?
O fluxo suporta autenticação onde o agente age em nome do usuário, exigindo interação para consentimento. Existem dois métodos para conectar um servidor MCP ao AgentCore Gateway:
- Sincronização implícita durante a criação do target: O administrador completa o fluxo de autorização durante as operações
CreateGatewayTarget,UpdateGatewayTargetouSynchronizeGatewayTargets. Assim, o Gateway descobre e armazena em cache as ferramentas disponíveis no servidor MCP. - Fornecimento antecipado do schema das ferramentas: O administrador fornece o schema das ferramentas diretamente na criação ou atualização do target, evitando a necessidade de interação humana durante essas operações. Essa abordagem é recomendada quando não é possível intervenção manual e permite restringir quais ferramentas ficam expostas.
Fluxo detalhado do processo de autorização
- O administrador configura o target no AgentCore Gateway, indicando o endpoint do servidor MCP e o provedor de credenciais AgentCore Identity.
- O Gateway solicita um token de acesso de workload para autenticar a si mesmo.
- Com esse token, ele obtém uma URL de autorização e um session-URI.
- O administrador acessa essa URL, autentica-se e concede permissões.
- O servidor OAuth redireciona para a URL de callback com o session-URI.
- O administrador ou o console AWS chama a API
CompleteResourceTokenAuthpara validar a sessão e trocar o código de autorização por um token de acesso. - O AgentCore Gateway passa a ter tokens válidos para acessar as ferramentas do servidor MCP em nome dos usuários.
Esse processo inclui o mecanismo de URL Session Binding, que garante que o usuário que iniciou a autorização é o mesmo que completou o consentimento, evitando o uso indevido de URLs de autorização compartilhadas. Além disso, as URLs de autorização e session-URI expiram em 10 minutos, aumentando a segurança.
Pré-requisitos para configurar a integração
- Configuração de um GitHub OAuth App: criar um app OAuth no GitHub, definindo nome, URLs de homepage e callback, e gerando Client ID e Client Secret.
- Permissões IAM adequadas: para executar as operações necessárias na AWS.
- Criação de um OAuth Client no AgentCore Identity: configurado com os dados do GitHub OAuth App.
- Versão do MCP: utilizar MCP versão 2025-11-25 ou superior para suporte ao Authorization Code grant.
Passo a passo para criar um target com sincronização implícita
- No console Amazon Bedrock AgentCore, criar um Gateway selecionando MCP server target.
- Informar o endpoint do servidor MCP e selecionar o OAuth client criado.
- Escolher a opção Authorization code grant (3LO) e fornecer a URL de retorno (return URL).
- Após criação, o target ficará em status Needs authorization.
- O administrador acessa a URL de autorização para conceder permissões.
- Após consentimento, o status muda para Ready e o target está autorizado.
Passo a passo para criar um target fornecendo schema antecipado
- Durante a criação do target, selecionar a opção para usar lista pré-definida de ferramentas.
- Colar o schema das ferramentas (disponível no repositório GitHub oficial).
- O target fica imediatamente em status Ready com No authorization required.
Como os usuários acessam as ferramentas após a configuração
- Ao solicitar a lista de ferramentas (
tools/list), o AgentCore Gateway retorna as definições armazenadas em cache. - Ao invocar uma ferramenta (
tools/call), o Gateway inicia o fluxo de autorização OAuth caso o token de acesso do usuário ainda não esteja disponível. - O usuário é redirecionado para autenticação e consentimento, e após isso, o Gateway obtém o token necessário para chamada ao servidor MCP.
Disponibilidade e como acessar
Esse recurso está disponível a partir da versão 2025-11-25 do MCP no Amazon Bedrock AgentCore Gateway. Para começar, é necessário configurar os OAuth Apps correspondentes e criar os targets conforme os métodos apresentados. O código de exemplo e o tutorial completo estão disponíveis no repositório oficial no GitHub.