Prompts dans le client
Mis à jour le 30 juillet 2026
Le serveur définit des prompts depuis la leçon précédente ; il reste à les brancher côté application. C’est la dernière étape du client MCP : implémenter la fonctionnalité des prompts pour lister les prompts disponibles et les récupérer avec leurs variables interpolées — après quoi les trois primitives du protocole seront couvertes de bout en bout dans notre chatbot.
Lister les prompts
Comme pour les outils et les ressources, la découverte passe par une méthode d’enveloppe minimaliste :
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.prompts
Trois lignes, mais elles portent le principe cardinal du protocole : le client ne connaît aucun prompt à l’avance. Il interroge le serveur et reçoit la liste courante — noms, descriptions, arguments attendus. Ajoutez un prompt côté serveur demain, et tous les clients connectés le proposeront sans redéploiement : le catalogue de commandes de votre application vit désormais sur le serveur.
Récupérer un prompt spécifique
La méthode get_prompt gère la récupération avec interpolation des arguments. Quand vous demandez un prompt spécifique, les arguments fournis sont injectés dans la fonction prompt côté serveur :
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messages
Regardez bien ce que renvoie la méthode : non pas un gabarit à remplir, mais des messages qui forment une conversation prête à être envoyée directement à Claude. L’interpolation a eu lieu sur le serveur — le client ne voit jamais le texte du template, ne fait aucun remplacement de variables, n’a aucune logique de prompt à maintenir. Il reçoit un bloc de conversation fini, à ajouter tel quel à l’historique.
Tester les prompts en action
Dans le chatbot, cette mécanique alimente les commandes slash. Quand vous lancez le client et tapez une barre oblique (/), les prompts disponibles apparaissent comme commandes. Sélectionner un prompt comme « format » déclenche la séquence complète :
- Vous demande de choisir parmi les documents disponibles
- Prend le prompt avec l’ID du document interpolé
- L’envoie directement à Claude comme message utilisateur
- Claude reçoit les instructions et l’ID du document
- Claude utilise les outils disponibles pour récupérer le contenu
- Claude répond avec le résultat reformaté
Les étapes 5 et 6 méritent l’attention : le prompt ne contient pas le document, seulement son identifiant et des instructions. C’est Claude qui, en exécutant le prompt, mobilise les outils du même serveur pour lire puis réécrire le document. Prompts et outils se composent — le prompt est le chef d’orchestre, les outils sont les instruments, et tout vient du même serveur MCP.
Le workflow des prompts
Prenez du recul sur le cycle de vie complet d’un prompt MCP :
- Écrire et évaluer un prompt pertinent pour l’objectif du serveur MCP
- Définir le prompt dans le serveur avec le décorateur
@mcp.prompt - Le client peut demander ce prompt à tout moment
- Lors de la demande, fournir les arguments passés en mots-clés à la fonction
- La fonction utilise ces arguments pour personnaliser le contenu du prompt
L’étape 1 est celle qu’on oublie : un prompt MCP mérite le même travail d’évaluation que n’importe quel prompt du cours — c’est un prompt de production, servi à chaque utilisateur qui tape la commande. Ce système crée des prompts réutilisables et paramétrables, partageables entre différents clients : l’ingénierie de prompt de votre équipe, écrite une fois, évaluée une fois, et distribuée partout où le serveur se connecte.
Points clés à retenir
list_promptsdécouvre le catalogue dynamiquement — les commandes de l’application vivent sur le serveurget_promptrenvoie des messages interpolés prêts pour Claude : aucune logique de template côté client- Dans le CLI,
/liste les prompts comme commandes, avec saisie guidée des arguments - Un prompt orchestre souvent les outils du même serveur — les primitives se composent
- Un prompt MCP est un prompt de production : écrivez-le et évaluez-le avec la même rigueur que les autres