View a markdown version of this page

Listar las solicitudes disponibles en una puerta de enlace AgentCore - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Listar las solicitudes disponibles en una puerta de enlace AgentCore

Para enumerar todas las solicitudes disponibles que proporciona una AgentCore puerta de enlace, haga una solicitud POST al punto final MCP de la puerta de enlace y especifique prompts/list el método en el cuerpo de la solicitud:

ejemplo
2025-11-25 and earlier
POST /mcp HTTP/1.1 Host: ${GatewayEndpoint} Accept: application/json, text/event-stream Content-Type: application/json Authorization: ${Authorization header} MCP-Protocol-Version: ${McpProtocolVersion} ${RequestBody}
2026-07-28

En la versión2026-07-28, cada solicitud incluye el MCP-Protocol-Version encabezado, el encabezado de los Mcp-Method metadatos de la solicitud y los campos de _meta versión en el cuerpo.

POST /mcp HTTP/1.1 Host: ${GatewayEndpoint} Accept: application/json, text/event-stream Content-Type: application/json Authorization: ${Authorization header} MCP-Protocol-Version: 2026-07-28 Mcp-Method: prompts/list ${RequestBody}
nota

La puerta de enlace solo acepta las versiones del protocolo MCP que figuran en el supportedVersions campo de su configuración. protocolConfiguration.mcp Para usar la versión2026-07-28, asegúrese de que la puerta de enlace la supportedVersions incluya. Puedes cambiar las versiones compatibles con la UpdateGateway API.

Reemplace los siguientes valores:

  • ${GatewayEndpoint}— La URL de la puerta de enlace, tal como se indica en la respuesta de la CreateGateway API.

  • ${Authorization header}— Las credenciales de autorización del proveedor de identidad al configurar la autorización Configure la autorización de entrada para su puerta de enlace entrante.

  • ${McpProtocolVersion}— La versión del protocolo MCP de la solicitud, por ejemplo. 2025-11-25 La versión debe ser compatible con su puerta de enlace.

  • ${RequestBody}— La carga útil JSON del cuerpo de la solicitud, tal como se especifica en la lista de solicitudes del protocolo de contexto modelo (MCP). Incluir comoprompts/list. method En la versión2026-07-28, incluya también los campos de la _meta versión enparams.

nota

Para obtener una lista de los parámetros que se admiten opcionalmenteprompts/list, consulte el params objeto en el cuerpo de la solicitud, en la sección Prompts de la documentación del Model Context Protocol. En la parte superior de la página, junto a la barra de búsqueda, puede seleccionar la versión del MCP cuya documentación desea ver. Asegúrese de que la versión sea compatible con Amazon Bedrock AgentCore.

La respuesta devuelve una lista de las solicitudes disponibles con sus nombres, descripciones y argumentos.

Ejemplos de código para enumerar las solicitudes

Para ver ejemplos de cómo enumerar las solicitudes disponibles en la puerta de enlace, seleccione uno de los siguientes métodos:

ejemplo
Python requests package (2025-11-25 and earlier)

Configure el MCP-Protocol-Version encabezado en una versión compatible con su puerta de enlace.

import requests import json def list_prompts(gateway_url, access_token): headers = { "Content-Type": "application/json", "Authorization": f"Bearer {access_token}", "MCP-Protocol-Version": "2025-11-25" } payload = { "jsonrpc": "2.0", "id": "list-prompts-request", "method": "prompts/list" } response = requests.post(gateway_url, headers=headers, json=payload) return response.json() # Example usage gateway_url = "https://${GatewayEndpoint}/mcp" # Replace with your actual gateway endpoint access_token = "${AccessToken}" # Replace with your actual access token prompts = list_prompts(gateway_url, access_token) print(json.dumps(prompts, indent=2))
Python requests package (2026-07-28)

En la versión2026-07-28, agrega los Mcp-Method encabezados MCP-Protocol-Version y e incluye los campos de _meta versión en el cuerpo de la solicitud. Su puerta de enlace supportedVersions debe incluir2026-07-28.

import requests import json def list_prompts(gateway_url, access_token): headers = { "Content-Type": "application/json", "Authorization": f"Bearer {access_token}", "MCP-Protocol-Version": "2026-07-28", "Mcp-Method": "prompts/list" } payload = { "jsonrpc": "2.0", "id": "list-prompts-request", "method": "prompts/list", "params": { "_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientInfo": {"name": "my-agent", "version": "1.0.0"}, "io.modelcontextprotocol/clientCapabilities": {} } } } response = requests.post(gateway_url, headers=headers, json=payload) return response.json() # Example usage gateway_url = "https://${GatewayEndpoint}/mcp" # Replace with your actual gateway endpoint access_token = "${AccessToken}" # Replace with your actual access token prompts = list_prompts(gateway_url, access_token) print(json.dumps(prompts, indent=2))
MCP Client
import asyncio from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client async def execute_mcp( url, token, headers=None ): default_headers = { "Authorization": f"Bearer {token}" } headers = {**default_headers, **(headers or {})} async with streamablehttp_client( url=url, headers=headers, ) as ( read_stream, write_stream, callA, ): async with ClientSession(read_stream, write_stream) as session: # 1. Perform initialization handshake print("Initializing MCP...") _init_response = await session.initialize() print(f"MCP Server Initialize successful! - {_init_response}") # 2. List available prompts print("Listing prompts...") cursor = True prompts = [] while cursor: next_cursor = cursor if isinstance(cursor, bool): next_cursor = None list_prompts_response = await session.list_prompts(next_cursor) prompts.extend(list_prompts_response.prompts) cursor = list_prompts_response.nextCursor prompt_names = [] if prompts: for prompt in prompts: prompt_names.append(prompt.name) prompt_names_string = "\n".join(prompt_names) print( f"List MCP prompts. # of prompts - {len(prompts)}\n" f"List of prompts - \n{prompt_names_string}\n" ) async def main(): url = "https://${GatewayEndpoint}/mcp" token = "your_bearer_token_here" # Optional additional headers additional_headers = { "Content-Type": "application/json", } await execute_mcp( url=url, token=token, headers=additional_headers ) # Run the async function if __name__ == "__main__": asyncio.run(main())
Strands MCP Client
# NOTE: Strands SDK prompt support may vary. Use the MCP Client approach above # for the most reliable prompts/list implementation. from strands.tools.mcp.mcp_client import MCPClient from mcp.client.streamable_http import streamablehttp_client def create_streamable_http_transport(mcp_url: str, access_token: str): return streamablehttp_client(mcp_url, headers={"Authorization": f"Bearer {access_token}"}) def run_agent(mcp_url: str, access_token: str): mcp_client = MCPClient(lambda: create_streamable_http_transport(mcp_url, access_token)) with mcp_client: result = mcp_client.list_prompts_sync() print(f"Found the following prompts: {[prompt.name for prompt in result.prompts]}") run_agent(<MCP URL>, <Access token>)
LangGraph MCP Client
# NOTE: LangGraph MCP adapter prompt support may vary. Use the MCP Client # approach above for the most reliable prompts/list implementation. import asyncio from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client async def list_prompts(url, token): headers = {"Authorization": f"Bearer {token}"} async with streamablehttp_client(url=url, headers=headers) as ( read_stream, write_stream, callA ): async with ClientSession(read_stream, write_stream) as session: await session.initialize() response = await session.list_prompts() for prompt in response.prompts: print(f"{prompt.name} - {prompt.description}") asyncio.run(list_prompts("https://${GatewayEndpoint}/mcp", "${AccessToken}"))
nota

Los nombres de las solicitudes tienen como prefijo el nombre del destino utilizando el formato{targetName}___{promptName}. Se trata de la misma convención de nomenclatura que se utiliza para las herramientas. Para obtener más información, consulte Convenciones de nomenclatura de herramientas.

nota

Para obtener información sobre la creación de servidores MCP con instrucciones, consulte las funciones de estado de MCP.