기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AgentCore 게이트웨이에서 사용 가능한 프롬프트 나열
AgentCore 게이트웨이가 제공하는 사용 가능한 모든 프롬프트를 나열하려면 게이트웨이의 MCP 엔드포인트에 POST 요청을 하고 요청 본문에서를 메prompts/list서드로 지정합니다.
예
- 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
-
버전 에서는 2026-07-28각 요청에 본문의 MCP-Protocol-Version 헤더, Mcp-Method 요청 메타데이터 헤더 및 _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}
게이트웨이는 protocolConfiguration.mcp 구성의 supportedVersions 필드에 나열된 MCP 프로토콜 버전만 허용합니다. 버전를 사용하려면 게이트웨이에 버전이 supportedVersions 포함되어 있는지 2026-07-28확인합니다. UpdateGateway API를 사용하여 지원되는 버전을 변경할 수 있습니다.
다음 값을 교체합니다.
-
${GatewayEndpoint} - CreateGateway API의 응답에 제공된 게이트웨이의 URL입니다.
-
${Authorization header} - 인바운드 권한 부여를 설정할 때 자격 증명 공급자의 권한 부여 자격 증명입니다.
-
${McpProtocolVersion} -와 같은 요청에 대한 MCP 프로토콜 버전입니다2025-11-25. 버전은 게이트웨이가 지원하는 버전이어야 합니다.
-
${RequestBody} - 모델 컨텍스트 프로토콜(MCP)의 프롬프트 나열에 지정된 요청 본문의 JSON 페이로드입니다. 를 prompts/list로 포함합니다method. 버전의 경우에 _meta 버전 필드2026-07-28도 포함합니다params.
응답은 이름, 설명 및 인수와 함께 사용 가능한 프롬프트 목록을 반환합니다.
프롬프트를 나열하기 위한 코드 샘플
게이트웨이에서 사용 가능한 프롬프트를 나열하는 예를 보려면 다음 방법 중 하나를 선택합니다.
예
- Python requests package (2025-11-25 and earlier)
-
MCP-Protocol-Version 헤더를 게이트웨이가 지원하는 버전으로 설정합니다.
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)
-
버전에서 MCP-Protocol-Version 및 Mcp-Method 헤더를 2026-07-28추가하고 요청 본문에 _meta 버전 필드를 포함합니다. 게이트웨이의 에는가 포함되어야 supportedVersions 합니다2026-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}"))
프롬프트 이름에는 형식을 사용하여 대상 이름 접두사가 붙습니다{targetName}___{promptName}. 이는 도구에 사용되는 것과 동일한 이름 지정 규칙입니다. 자세한 내용은 도구 이름 지정 규칙을 참조하세요.