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
Temas
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
Paso 2: Crear una puerta de enlace
Agregue una puerta de enlace y un objetivo a su proyecto mediante la AgentCore CLI:
ejemplo
Para usar la JWT-based autorización en su lugar, especifique --authorizer-type CUSTOM_JWT con su URL de detección de OAuth:
ejemplo
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: |
|
«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