

# Répertorier les invites disponibles dans une passerelle AgentCore
<a name="gateway-using-mcp-prompts-list"></a>

Pour répertorier toutes les invites disponibles fournies par une AgentCore passerelle, envoyez une requête POST au point de terminaison MCP de la passerelle et spécifiez `prompts/list` comme méthode dans le corps de la demande :

```
POST /mcp HTTP/1.1
Host: ${GatewayEndpoint}
Content-Type: application/json
Authorization: ${Authorization header}

${RequestBody}
```

Remplacez les valeurs suivantes :
+  `${GatewayEndpoint}`— L'URL de la passerelle, telle que fournie dans la réponse de l'[CreateGateway](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateGateway.html)API.
+  `${Authorization header}`— Les informations d'autorisation fournies par le fournisseur d'identité lorsque vous configurez l'[autorisation entrante](gateway-inbound-auth.md).
+  `${RequestBody}`— La charge utile JSON du corps de la requête, telle que spécifiée dans [les instructions de listage](https://modelcontextprotocol.io/specification/2025-06-18/server/prompts#listing-prompts) du [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro). Inclure `prompts/list` en tant que`method`.

**Note**  
Pour obtenir la liste des paramètres éventuellement pris en charge pour`prompts/list`, consultez l'`params`objet dans le corps de la demande à la section [Prompts](https://modelcontextprotocol.io/specification/2025-06-18/server/prompts) de la [documentation du protocole Model Context](https://modelcontextprotocol.io/specification/2025-06-18). En haut de la page, à côté de la barre de recherche, vous pouvez sélectionner la version de MCP dont vous souhaitez consulter la documentation. Assurez-vous que la version est [prise en charge par Amazon Bedrock AgentCore](gateway-using.md).

La réponse renvoie une liste des invites disponibles avec leurs noms, descriptions et arguments.

## Exemples de code pour les invites de mise en vente
<a name="gateway-using-mcp-prompts-list-examples"></a>

Pour voir des exemples de liste des invites disponibles dans la passerelle, sélectionnez l'une des méthodes suivantes :

**Example**  

1. 

   ```
   import requests
   import json
   
   def list_prompts(gateway_url, access_token):
       headers = {
           "Content-Type": "application/json",
           "Authorization": f"Bearer {access_token}"
       }
   
       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))
   ```

1. 

   ```
   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())
   ```

1. 

   ```
   # 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>)
   ```

1. 

   ```
   # 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}"))
   ```

**Note**  
Les noms des invites sont préfixés par le nom de la cible selon le format`{targetName}___{promptName}`. Il s'agit de la même convention de dénomination que celle utilisée pour les outils. Pour plus d'informations, consultez la section [Conventions de dénomination des outils](gateway-tool-naming.md).

**Note**  
Pour plus d'informations sur la création de serveurs MCP à l'aide d'instructions, consultez la section Fonctionnalités dynamiques du [MCP](mcp-stateful-features.md).