View a markdown version of this page

Comece a usar o AgentCore Gateway - Amazon Bedrock AgentCore

Comece a usar o AgentCore Gateway

Neste guia de início rápido, você aprenderá como configurar um gateway e integrá-lo aos seus agentes usando a AgentCore CLI. Para obter guias e exemplos mais abrangentes, consulte o GitHub repositório Amazon Bedrock AgentCore Gateway.

nota

A AgentCore CLI fornece comandos e um assistente TUI interativo para gerenciar AgentCore os recursos do Gateway. Para ver a referência completa da API do AWS SDK, consulte Operações do plano AgentCore de controle.

Pré-requisitos

Antes de começar, verifique se você tem o seguinte:

  • AWS Conta com credenciais configuradas. Para configurar as credenciais, você pode instalar e usar a interface de linha de AWS comando seguindo as etapas em Introdução à AWS CLI.

  • Node.js 18+ instalados (para a AgentCore CLI).

  • Python 3.10+ instalado (para o script do agente).

  • Permissões do IAM para criar funções, funções Lambda e usar o Amazon Bedrock. AgentCore

  • Acesso ao modelo — Ative o Claude Sonnet 3.7 da Anthropic no console Amazon Bedrock (ou outro modelo para o agente de demonstração)

Etapa 1: Configurar e instalar

Instale a AgentCore CLI globalmente:

npm install -g @aws/agentcore

Crie um novo AgentCore projeto com um agente e um gateway:

exemplo
AgentCore CLI
  1. agentcore create --name MyGatewayAgent --defaults

    A --defaults bandeira cria um projeto com um agente Python Strands padrão. Como alternativa, omita --defaults e use --name o assistente interativo para selecionar sua estrutura preferida.

Interactive
  1. Você também pode executar agentcore create sem sinalizadores para usar o assistente interativo. O assistente orienta você na seleção do nome do projeto, da estrutura do agente, do provedor de modelos e de outras opções.

Etapa 2: Criar gateway

Adicione um gateway e um destino ao seu projeto usando a AgentCore CLI:

exemplo
AgentCore CLI
  1. # Add a gateway with no inbound auth (simplest for getting started) agentcore add gateway --name TestGateway --authorizer-type NONE --runtimes MyGatewayAgent # Add a Lambda function target agentcore add gateway-target --name TestLambdaTarget --type lambda-function-arn \ --lambda-arn <YOUR_LAMBDA_ARN> \ --tool-schema-file tools.json \ --gateway TestGateway
Interactive
  1. Execute agentcore para abrir a TUI, selecione adicionar e escolha Gateway:

  2. Insira o nome do gateway:

    Assistente de gateway: insira o nome
  3. Selecione o tipo de autorizador. Para esse início rápido, escolha NENHUM:

    Assistente de gateway: selecione NENHUM autorizador
  4. Configure as opções avançadas ou aceite os padrões:

    Assistente de gateway: configuração avançada
  5. Revise a configuração e pressione Enter para confirmar:

    Assistente de gateway: revise a configuração

    Em seguida, selecione adicionar novamente e escolha Gateway Target para adicionar um destino de função Lambda:

  6. Insira o nome do alvo.

  7. Selecione a função Lambda como o tipo de destino:

    Assistente de destino do gateway: selecione a função Lambda
  8. Insira o ARN do Lambda e o caminho do arquivo do esquema da ferramenta e confirme.

Para usar a JWT-based autorização em vez disso, especifique --authorizer-type CUSTOM_JWT com sua URL de descoberta do OAuth:

exemplo
AgentCore CLI
  1. agentcore add gateway --name TestGateway \ --authorizer-type CUSTOM_JWT \ --discovery-url https://cognito-idp.us-east-1.amazonaws.com/<POOL_ID>/.well-known/openid-configuration \ --allowed-audience <CLIENT_ID> \ --runtimes MyGatewayAgent
Interactive
  1. Execute agentcore para abrir a TUI, selecione adicionar e escolha Gateway. Quando solicitado a informar o tipo de autorizador, selecione JWT personalizado:

  2. Insira o nome do gateway:

    Assistente de gateway: insira o nome
  3. Selecione Custom JWT como o tipo de autorizador:

    Assistente de gateway: selecione o autorizador JWT personalizado
  4. Insira o URL de descoberta do OAuth e o público permitido quando solicitado.

  5. Configure as opções avançadas ou aceite os padrões:

    Assistente de gateway: configuração avançada
  6. Revise a configuração e pressione Enter para confirmar:

    Assistente de gateway: revise a configuração

Etapa 3: executar a configuração

Implante seu projeto para AWS:

agentcore deploy

A CLI sintetiza uma pilha de AWS CDK e implanta seu gateway, destinos e agente no Amazon Bedrock. AgentCore Isso leva cerca de 2 a 3 minutos.

Etapa 4: usar o gateway com um agente

Recupere o URL do seu gateway usando a AgentCore CLI:

agentcore status

Crie um novo arquivo chamado run_agent.py e insira o código a seguir. Instale primeiro as dependências do Python:

pip install strands-agents mcp
""" Agent script to test the Gateway Run this after setup: python run_agent.py """ from strands import Agent from strands.models import BedrockModel from strands.tools.mcp.mcp_client import MCPClient from mcp.client.streamable_http import streamablehttp_client import json import sys def create_streamable_http_transport(mcp_url: str): return streamablehttp_client(mcp_url) def get_full_tools_list(client): """Get all tools with pagination support""" more_tools = True tools = [] pagination_token = None while more_tools: tmp_tools = client.list_tools_sync(pagination_token=pagination_token) tools.extend(tmp_tools) if tmp_tools.pagination_token is None: more_tools = False else: more_tools = True pagination_token = tmp_tools.pagination_token return tools def run_agent(): # Get the gateway URL from agentcore status gateway_url = "<YOUR_GATEWAY_URL>" # Replace with URL from 'agentcore status' # Model configuration - change if needed model_id = "anthropic.claude-3-7-sonnet-20250219-v1:0" print("Starting AgentCore Gateway Test Agent") print(f"Gateway URL: {gateway_url}") print(f"Model: {model_id}") print("-" * 60) # Setup Bedrock model bedrockmodel = BedrockModel( model_id=model_id, streaming=True, ) # Setup MCP client (no auth token needed for NONE authorizer) mcp_client = MCPClient(lambda: create_streamable_http_transport(gateway_url)) with mcp_client: # List available tools tools = get_full_tools_list(mcp_client) print(f"\nAvailable tools: {[tool.tool_name for tool in tools]}") print("-" * 60) # Create agent agent = Agent(model=bedrockmodel, tools=tools) # Interactive loop print("\nInteractive Agent Ready!") print("Try asking: 'What's the weather in Seattle?'") print("Type 'exit', 'quit', or 'bye' to end.\n") while True: user_input = input("You: ") if user_input.lower() in ["exit", "quit", "bye"]: print("Goodbye!") break print("\nThinking...\n") response = agent(user_input) print(f"\nAgent: {response.message.get('content', response)}\n") if __name__ == "__main__": run_agent()

Administre seu agente

Teste seu gateway executando o agente e interagindo com as ferramentas.

python run_agent.py

É isso mesmo! O agente começará e você poderá fazer perguntas como:

  • “Qual é o clima em Seattle?”

  • “Que horas são em Nova York?”

O que você construiu

Por meio deste tutorial de introdução, você criou os seguintes recursos:

  • Servidor MCP (Gateway): um endpoint gerenciado em https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp

  • Ferramentas Lambda: funções simuladas que retornam dados de teste (clima: “72°F, Sunny”, horário: "14h30”)

  • Agente de IA: Claude-powered assistente que pode descobrir e usar suas ferramentas

Solução de problemas

A tabela a seguir mostra alguns possíveis problemas e suas soluções:

Problema Solução

“Nenhum módulo chamado 'strings'”

Corra: pip install strands-agents

“Modelo não ativado”

Ative o Claude Sonnet 3.7 no console Bedrock → Acesso ao modelo

"AccessDeniedException"

Verifique as permissões do IAM para bedrock-agentcore: *

O gateway não está respondendo

Aguarde 30 a 60 segundos após a criação para a propagação do DNS

Validação rápida

Execute os seguintes comandos em um terminal para verificar se o gateway está funcionando.

# Check your Gateway is working curl -X POST YOUR_GATEWAY_URL \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' # Watch live logs aws logs tail /aws/bedrock-agentcore/gateways/YOUR_GATEWAY_ID --follow

Limpeza

Para remover o gateway e seus alvos do seu projeto:

agentcore remove gateway --name TestGateway

Para remover todos os recursos e reimplantar:

agentcore remove all agentcore deploy

Próximas etapas

  • Ferramentas Lambda personalizadas: crie funções Lambda com sua lógica de negócios

  • Adicione suas próprias APIs: amplie seu gateway com especificações OpenAPI para serviços reais

  • Configuração de produção: configure endpoints de VPC, domínios personalizados e monitoramento