Lister les prompts depuis le client
Votre serveur de devises a été écrit dans currency_server.py avec un outil, une ressource et un prompt. Créez un client qui liste les prompts disponibles sur ce serveur pour découvrir quels modèles de prompt l'LLM peut utiliser.
Cet exercice fait partie du cours
<cours>Introduction au Model Context Protocol (MCP)</cours>Instructions de l’exercice
- Connectez-vous au serveur MCP, initialisez la session et appelez la méthode qui liste les prompts disponibles, en affectant le résultat à une variable.
- Affichez le nom de chaque prompt (le nom de la fonction côté serveur, pas le titre).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def list_prompts():
"""List all available prompts from the MCP server."""
params = StdioServerParameters(command=sys.executable, args=["currency_server.py"])
async with stdio_client(params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
# List available prompts
prompts = await session.____()
print(f"Available prompts: {[p.____ for p in prompts.prompts]}")
return prompts.prompts
asyncio.run(list_prompts())