Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Daftar petunjuk yang tersedia di AgentCore gateway
Untuk membuat daftar semua prompt yang tersedia yang disediakan AgentCore gateway, buat permintaan POST ke titik akhir MCP gateway dan tent prompts/list ukan sebagai metode dalam badan permintaan:
contoh
- 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
-
Pada versi2026-07-28, setiap permintaan membawa MCP-Protocol-Version header, header Mcp-Method request-metadata, dan bidang _meta versi di badan.
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}
Gateway hanya menerima versi protokol MCP yang tercantum di supportedVersions bidang protocolConfiguration.mcp konfigurasinya. Untuk menggunakan versi2026-07-28, pastikan gateway Anda menyer supportedVersions takannya. Anda dapat mengubah versi yang didukung dengan UpdateGateway API.
Ganti nilai-nilai berikut:
-
${GatewayEndpoint}— URL gateway, seperti yang disediakan dalam tanggapan CreateGateway API.
-
${Authorization header}— KredenSIAL otorisasi dari penyedia identitas saat Anda mengatur otorisasi masuk.
-
${McpProtocolVersion}— Versi protokol MCP untuk permintaan, seperti2025-11-25. Versi harus salah satu yang didukung gateway Anda.
-
${RequestBody}— Payload JSON dari badan permintaan, seperti yang ditentukan dalam Daftar prompt di Model Context Protocol (MCP). Sertakan prompts/list sebagaimethod. Pada versi2026-07-28, sertakan juga bidang _meta versi diparams.
Respons mengembalikan daftar prompt yang tersedia dengan nama, deskripsi, dan argumennya.
Contoh kode untuk petunjuk daftar
Untuk melihat contoh daftar petunjuk yang tersedia di gateway, pilih salah satu metode berikut:
contoh
- Python requests package (2025-11-25 and earlier)
-
Atur MCP-Protocol-Version header ke versi yang didukung gateway Anda.
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)
-
Pada versi2026-07-28, tambahkan MCP-Protocol-Version Mcp-Method header dan, dan sertakan bidang _meta versi dalam badan permintaan. Gateway Anda supportedVersions harus disertakan2026-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}"))
Nama prompt diawali dengan nama target menggunakan format{targetName}___{promptName}. Ini adalah konvensi penamaan yang sama yang digunakan untuk alat. Untuk informasi selengkapnya, lihat Konvensi penamaan alat.
Untuk informasi tentang pembuatan server MCP dengan prompt, lihat fitur stateful MCP.