Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Elenca i prompt disponibili in un gateway AgentCore
Per elencare tutti i prompt disponibili forniti da un AgentCore gateway, effettuate una richiesta POST all'endpoint MCP del gateway e specificate prompts/list come metodo nel corpo della richiesta:
Esempio
- 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
-
A seconda della versione2026-07-28, ogni richiesta contiene l'MCP-Protocol-Versionintestazione, l'intestazione dei Mcp-Method metadati della richiesta e i campi della versione nel corpo. _meta
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}
Il gateway accetta solo le versioni del protocollo MCP elencate nel campo della sua configurazione. supportedVersions protocolConfiguration.mcp Per utilizzare la versione2026-07-28, assicurati che sia supportedVersions inclusa nel gateway. Puoi modificare le versioni supportate con l'UpdateGatewayAPI.
Sostituisci i valori seguenti:
-
${GatewayEndpoint}— L'URL del gateway, come fornito nella risposta dell'CreateGatewayAPI.
-
${Authorization header}— Le credenziali di autorizzazione del provider di identità quando si imposta l'autorizzazione in entrata.
-
${McpProtocolVersion}— La versione del protocollo MCP per la richiesta, ad esempio. 2025-11-25 La versione deve essere quella supportata dal gateway.
-
${RequestBody}— Il payload JSON del corpo della richiesta, come specificato nei prompt di elenco nel Model Context Protocol (MCP). prompts/listmethodIncludi come. Nella versione2026-07-28, includi anche i campi della _meta versione inparams.
Per un elenco dei parametri opzionali supportati perprompts/list, vedere l'paramsoggetto nel corpo della richiesta in Prompts nella documentazione del Model Context Protocol. Nella parte superiore della pagina, accanto alla barra di ricerca, è possibile selezionare la versione MCP di cui si desidera visualizzare la documentazione. Assicurati che la versione sia supportata da Amazon AgentCore Bedrock.
La risposta restituisce un elenco di prompt disponibili con i relativi nomi, descrizioni e argomenti.
Esempi di codice per elencare i prompt
Per visualizzare esempi di elenco dei prompt disponibili nel gateway, seleziona uno dei seguenti metodi:
Esempio
- Python requests package (2025-11-25 and earlier)
-
Imposta l'MCP-Protocol-Versionintestazione su una versione supportata dal tuo gateway.
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)
-
In base alla versione2026-07-28, aggiungi le Mcp-Method intestazioni MCP-Protocol-Version e e includi i campi della _meta versione nel corpo della richiesta. Il tuo gateway supportedVersions deve includere2026-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}"))
I nomi dei prompt sono preceduti dal nome di destinazione utilizzando il formato{targetName}___{promptName}. Questa è la stessa convenzione di denominazione utilizzata per gli strumenti. Per ulteriori informazioni, consultate Convenzioni di denominazione degli strumenti.