

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mendapatkan prompt dari AgentCore gateway
<a name="gateway-using-mcp-prompts-get"></a>

Untuk mendapatkan prompt tertentu, buat permintaan POST ke titik akhir MCP gateway dan tent `prompts/get` ukan sebagai metode dalam badan permintaan, nama prompt, dan argumen:

**Example**  

```
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}
```
Pada versi`2026-07-28`, setiap permintaan membawa `MCP-Protocol-Version` header, header `Mcp-Method` dan `Mcp-Name` 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/get
Mcp-Name: ${PromptName}

${RequestBody}
```

**catatan**  
Gateway hanya menerima versi protokol MCP yang tercantum di `supportedVersions` bidang `protocolConfiguration.mcp` konfigurasinya. Untuk menggunakan versi`2026-07-28`, pastikan gateway Anda menyer `supportedVersions` takannya. Anda dapat mengubah versi yang didukung dengan [ UpdateGateway ](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_UpdateGateway.html) API.

Ganti nilai-nilai berikut:
+  `${GatewayEndpoint}`— URL gateway, seperti yang disediakan dalam tanggapan [ CreateGateway ](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateGateway.html) API.
+  `${Authorization header}`— KredenSIAL otorisasi dari penyedia identitas saat Anda mengatur [ otorisasi ](gateway-inbound-auth.md) masuk.
+  `${McpProtocolVersion}`— Versi protokol MCP untuk permintaan, seperti`2025-11-25`. Versi harus salah satu yang didukung gateway Anda.
+  `${PromptName}`— Nama prompt, cocok dengan `name` di badan permintaan.
+  `${RequestBody}`— Payload JSON dari badan permintaan, seperti yang ditentukan dalam Mendap [ atkan prompt ](https://modelcontextprotocol.io/specification/2025-06-18/server/prompts#getting-a-prompt) di [ Model Context Protocol (MCP). ](https://modelcontextprotocol.io/docs/getting-started/intro) Sertakan `prompts/get` sebagai `method` dan sertakan `name` dari prompt dan itu`arguments`. Pada versi`2026-07-28`, sertakan juga bidang `_meta` versi di`params`.

Respons mengembalikan prompt yang dirender sebagai array pesan, masing-masing dengan peran dan konten.

**catatan**  
`prompts/get`Operasi memproksi permintaan langsung ke server MCP hilir. Nama prompt harus menyertakan awalan target (misalnya,`myTarget___myPrompt`).

## Contoh kode untuk mendapatkan prompt
<a name="gateway-using-mcp-prompts-get-examples"></a>

Untuk melihat contoh mendapatkan prompt dari gateway, pilih salah satu metode berikut:

**Example**  
Permintaan curl berikut menunjukkan contoh permintaan untuk mendapatkan prompt yang di `myTarget___code_review` panggil melalui gateway dengan ID`mygateway-abcdefghij`. Atur `MCP-Protocol-Version` header ke versi yang didukung gateway Anda.  

```
curl -X POST \
  https://mygateway-abcdefghij.gateway.bedrock-agentcore.us-west-2.amazonaws.com/mcp \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{
    "jsonrpc": "2.0",
    "id": "get-prompt-request",
    "method": "prompts/get",
    "params": {
      "name": "myTarget___code_review",
      "arguments": {
        "language": "python",
        "code": "print(\"hello\")"
      }
    }
}'
```
Pada versi`2026-07-28`, sertakan `Mcp-Method` header dan `Mcp-Name` request-metadata dan bidang `_meta` versi di badan. `MCP-Protocol-Version`Header harus cocok`_meta.io.modelcontextprotocol/protocolVersion`. Gateway Anda `supportedVersions` harus disertakan`2026-07-28`.  

```
curl -X POST \
  https://mygateway-abcdefghij.gateway.bedrock-agentcore.us-west-2.amazonaws.com/mcp \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: prompts/get" \
  -H "Mcp-Name: myTarget___code_review" \
  -d '{
    "jsonrpc": "2.0",
    "id": "get-prompt-request",
    "method": "prompts/get",
    "params": {
      "name": "myTarget___code_review",
      "arguments": {
        "language": "python",
        "code": "print(\"hello\")"
      },
      "_meta": {
        "io.modelcontextprotocol/protocolVersion": "2026-07-28",
        "io.modelcontextprotocol/clientInfo": {
          "name": "my-agent",
          "version": "1.0.0"
        },
        "io.modelcontextprotocol/clientCapabilities": {}
      }
    }
}'
```
Atur `MCP-Protocol-Version` header ke versi yang didukung gateway Anda.  

```
import requests
import json

def get_prompt(gateway_url, access_token, prompt_name, arguments):
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {access_token}",
        "MCP-Protocol-Version": "2025-11-25"
    }

    payload = {
        "jsonrpc": "2.0",
        "id": "get-prompt-request",
        "method": "prompts/get",
        "params": {
            "name": prompt_name,
            "arguments": arguments
        }
    }

    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
result = get_prompt(
    gateway_url,
    access_token,
    "myTarget___code_review",  # Replace with {targetName}___{promptName}
    {"language": "python", "code": "print('hello')"}
)
print(json.dumps(result, indent=2))
```
Pada versi`2026-07-28`, sertakan `Mcp-Method` header dan `Mcp-Name` request-metadata dan bidang `_meta` versi di badan. `MCP-Protocol-Version`Header harus cocok`_meta.io.modelcontextprotocol/protocolVersion`. Gateway Anda `supportedVersions` harus disertakan`2026-07-28`.  

```
import requests
import json

def get_prompt(gateway_url, access_token, prompt_name, arguments):
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {access_token}",
        "MCP-Protocol-Version": "2026-07-28",
        "Mcp-Method": "prompts/get",
        "Mcp-Name": prompt_name
    }

    payload = {
        "jsonrpc": "2.0",
        "id": "get-prompt-request",
        "method": "prompts/get",
        "params": {
            "name": prompt_name,
            "arguments": arguments,
            "_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
result = get_prompt(
    gateway_url,
    access_token,
    "myTarget___code_review",  # Replace with {targetName}___{promptName}
    {"language": "python", "code": "print('hello')"}
)
print(json.dumps(result, indent=2))
```

```
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
import asyncio

async def execute_mcp(
    url,
    token,
    prompt_name,
    prompt_arguments,
    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. Get specific prompt
            print(f"Getting prompt: {prompt_name}")
            prompt_response = await session.get_prompt(
                name=prompt_name,
                arguments=prompt_arguments
            )
            print(f"Prompt response: {prompt_response}")
            return prompt_response

async def main():
    url = "https://${GatewayEndpoint}/mcp"
    token = "your_bearer_token_here"
    prompt_name = "myTarget___code_review"
    prompt_arguments = {
        "language": "python",
        "code": "print('hello')"
    }
    await execute_mcp(
        url=url,
        token=token,
        prompt_name=prompt_name,
        prompt_arguments=prompt_arguments
    )


if __name__ == "__main__":
    asyncio.run(main())
```
CATATAN: LangGraph Dukungan prompt adaptor MCP mungkin berbeda. Gunakan pendekatan Klien MCP yang ditunjukkan sebelumnya untuk `prompts/get` implementasi yang paling andal.  

```
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def get_prompt(url, token, prompt_name, arguments):
    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.get_prompt(
                name=prompt_name,
                arguments=arguments
            )
            for message in response.messages:
                print(f"{message.role}: {message.content}")

asyncio.run(get_prompt(
    "https://${GatewayEndpoint}/mcp",
    "${AccessToken}",
    "myTarget___code_review",
    {"language": "python", "code": "print('hello')"}
))
```

## Kesalahan
<a name="gateway-using-mcp-prompts-get-errors"></a>

`prompts/get`Operasi dapat mengembalikan jenis kesalahan berikut:
+ Kesalahan dikembalikan sebagai bagian dari kode status HTTP:  
 **AuthenticationError**   
Permintaan gagal karena kredentif otentikasi tidak valid.  
 **Kode Status HTTP**: 401  
 **AuthorizationError**   
Penelepon tidak memiliki izin untuk mendapatkan prompt.  
 **Kode Status HTTP**: 403  
 **ResourceNotFoundError**   
Prompt yang ditentukan tidak ada.  
 **Kode Status HTTP**: 404  
 **ValidationError**   
Argumen yang diberikan tidak memenuhi argumen prompt yang diperlukan.  
 **Kode Status HTTP**: 400  
 **InternalServerError**   
Terjadi kesalahan server internal.  
 **Kode Status HTTP**: 500
+ Kesalahan MCP. Untuk informasi selengkapnya tentang jenis kesalahan ini, lihat Promp [ t ](https://modelcontextprotocol.io/specification/2025-06-18/server/prompts) dalam [ dokumentasi ](https://modelcontextprotocol.io/docs/getting-started/intro) Model Context Protocol (MCP).