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}
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.
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}"))
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.
Para obtener información sobre la creación de servidores MCP con instrucciones, consulte las funciones de estado de MCP.