View a markdown version of this page

Comience con AgentCore Gateway - Amazon Bedrock AgentCore

Comience con AgentCore Gateway

En esta guía de inicio rápido, aprenderá a configurar una puerta de enlace e integrarla en sus agentes mediante la AgentCore CLI. Para obtener guías y ejemplos más completos, consulte el GitHub repositorio de Amazon Bedrock AgentCore Gateway.

nota

La AgentCore CLI proporciona comandos y un asistente TUI interactivo para administrar los recursos de AgentCore Gateway. Para ver la referencia completa de la API AWS del SDK, consulte Operaciones AgentCore del plano de control.

Requisitos previos

Antes de empezar, asegúrate de tener lo siguiente:

  • AWS Cuenta con credenciales configuradas. Para configurar las credenciales, puede instalar y usar la interfaz de línea de AWS comandos siguiendo los pasos que se indican en Introducción a la AWS CLI.

  • Node.js Más de 18 instalados (para la AgentCore CLI).

  • Python 3.10+ instalado (para el script del agente).

  • Permisos de IAM para crear roles, funciones de Lambda y usar Amazon Bedrock. AgentCore

  • Acceso al modelo: habilite Claude Sonnet 3.7 de Anthropic en la consola Amazon Bedrock (u otro modelo para el agente de demostración)

Paso 1: Configurar e instalar

Instale la AgentCore CLI globalmente:

npm install -g @aws/agentcore

Cree un nuevo AgentCore proyecto con un agente y una puerta de enlace:

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

    La --defaults bandera crea un proyecto con un agente Python Strands predeterminado. Como alternativa, omita --defaults y --name utilice el asistente interactivo para seleccionar el marco que prefiera.

Interactive
  1. También puede ejecutar agentcore create sin indicadores para utilizar el asistente interactivo. El asistente le guiará para seleccionar el nombre del proyecto, la estructura del agente, el proveedor de modelos y otras opciones.

Paso 2: Crear una puerta de enlace

Agregue una puerta de enlace y un objetivo a su proyecto mediante la AgentCore CLI:

ejemplo
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. Ejecute agentcore para abrir la TUI, luego seleccione agregar y elija Gateway:

  2. Introduzca el nombre de la puerta de enlace:

    Asistente de puerta de enlace: introduzca el nombre
  3. Seleccione el tipo de autorizador. Para esta guía de inicio rápido, elija NINGUNO:

    Asistente de puerta de enlace: seleccione NINGÚN autorizador
  4. Configure las opciones avanzadas o acepte los valores predeterminados:

    Gateway Wizard: configuración avanzada
  5. Revise la configuración y pulse Entrar para confirmar:

    Gateway Wizard: revise la configuración

    A continuación, vuelva a seleccionar añadir y elija Gateway Target para añadir un objetivo de función Lambda:

  6. Introduzca el nombre del objetivo.

  7. Seleccione la función Lambda como tipo de destino:

    Asistente de destino de puerta de enlace: seleccione la función Lambda
  8. Introduzca el ARN de Lambda y la ruta del archivo del esquema de la herramienta y, a continuación, confirme.

Para usar la JWT-based autorización en su lugar, especifique --authorizer-type CUSTOM_JWT con su URL de detección de OAuth:

ejemplo
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. Ejecuta agentcore para abrir la TUI, selecciona añadir y elige Gateway. Cuando se le solicite el tipo de autorizador, seleccione Custom JWT:

  2. Introduzca el nombre de la puerta de enlace:

    Asistente de puerta de enlace: introduzca el nombre
  3. Seleccione Custom JWT como tipo de autorizador:

    Asistente de puerta de enlace: seleccione un autorizador JWT personalizado
  4. Introduzca la URL de detección de OAuth y la audiencia permitida cuando se le solicite.

  5. Configura las opciones avanzadas o acepta los valores predeterminados:

    Gateway Wizard: configuración avanzada
  6. Revise la configuración y pulse Entrar para confirmar:

    Gateway Wizard: revise la configuración

Paso 3: Ejecute la configuración

Implemente su proyecto para AWS:

agentcore deploy

La CLI sintetiza una pila de AWS CDK e implementa la puerta de enlace, los objetivos y el agente en Amazon Bedrock. AgentCore Esto tarda unos 2 o 3 minutos.

Paso 4: Usa la puerta de enlace con un agente

Recupere la URL de su puerta de enlace mediante la AgentCore CLI:

agentcore status

Cree un nuevo archivo llamado run_agent.py e inserte el siguiente código. Instale primero las dependencias de 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()

Ejecute su agente

Pruebe su puerta de enlace ejecutando el agente e interactuando con las herramientas.

python run_agent.py

¡Eso es todo! El agente empezará y podrás hacer preguntas como:

  • «¿Qué tiempo hace en Seattle?»

  • «¿Qué hora es en Nueva York?»

¿Qué has construido

A través de este tutorial de introducción, ha creado los siguientes recursos:

  • Servidor MCP (puerta de enlace): un punto final gestionado en https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp

  • Herramientas Lambda: funciones simuladas que devuelven datos de prueba (clima: «72 °F, sol», hora: «14:30»)

  • Agente de IA: Claude-powered asistente que puede descubrir y utilizar tus herramientas

Resolución de problemas

La siguiente tabla muestra algunos posibles problemas y sus soluciones:

Problema Solución

«No hay ningún módulo llamado 'strand'»

Ejecute: pip install strands-agents

«Modelo no habilitado»

Habilite Claude Sonnet 3.7 en la consola Bedrock → Acceso modelo

"AccessDeniedException"

Compruebe los permisos de IAM para bedrock-agentcore: *

Gateway no responde

Espere entre 30 y 60 segundos después de la creación para que se propague el DNS

Validación rápida

Ejecute los siguientes comandos en una terminal para comprobar que la puerta de enlace funciona.

# 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

Limpieza

Para eliminar la puerta de enlace y sus objetivos del proyecto:

agentcore remove gateway --name TestGateway

Para eliminar todos los recursos y volver a distribuirlos:

agentcore remove all agentcore deploy

Siguientes pasos

  • Herramientas Lambda personalizadas: cree funciones Lambda con su lógica empresarial

  • Añada sus propias API: amplíe su puerta de enlace con especificaciones de OpenAPI para servicios reales

  • Configuración de producción: configure los puntos finales de VPC, los dominios personalizados y la supervisión