Aller au contenu principal

Utiliser les prompts côté client

Mis à jour le 30 juillet 2026

Le serveur définit des prompts depuis la leçon précédente ; il reste à les servir aux utilisateurs. Les prompts MCP côté client permettent à votre application de récupérer et d’utiliser les templates définis dans le serveur — dernière primitive à brancher, et avec elle, le client MCP du projet sera complet : outils, ressources et prompts.

Lister les prompts disponibles

async def list_prompts(self) -> list[types.Prompt]:
    result = await self.session().list_prompts()
    return result.prompts

Le pattern d’enveloppe minimaliste, une fois encore — et une fois encore, il porte le principe central du protocole : rien n’est codé en dur côté client. La liste des prompts, leurs descriptions et leurs arguments viennent du serveur à l’exécution ; ajoutez-y un prompt demain, et tous les clients connectés le proposeront sans redéploiement.

Récupérer un prompt spécifique

async def get_prompt(self, prompt_name, args: dict[str, str]):
    result = await self.session().get_prompt(prompt_name, args)
    return result.messages

Quand vous demandez un prompt, vous fournissez des arguments qui sont passés à la fonction de prompt — l’interpolation a lieu côté serveur, et le retour n’est pas un gabarit mais des messages finis :

# Côté client
messages = await client.get_prompt("format", {"doc_id": "rapport.md"})

Cette ligne résume la répartition des rôles : le client nomme le prompt et fournit doc_id, le serveur interpole son template et renvoie une liste de messages prête à rejoindre la conversation. Le texte du prompt n’a jamais transité côté client — sa logique reste là où on la maintient et l’améliore, sur le serveur.

Test dans l’interface CLI

Dans le chatbot, ces méthodes alimentent les commandes slash. Quand l’utilisateur tape /, les prompts disponibles apparaissent comme des commandes. Flux typique :

1. L'utilisateur sélectionne /format
2. Le système demande : quel document ?
3. Le prompt est envoyé à Claude avec les valeurs interpolées
4. Claude utilise les outils disponibles pour accomplir la tâche

L’étape 4 mérite le regard : le prompt « format » ne contient pas le document — il contient des instructions et un identifiant, et c’est Claude qui, en l’exécutant, mobilise les outils du même serveur pour lire puis réécrire le document. Les primitives MCP se composent : le prompt orchestre, les outils exécutent — et l’utilisateur, lui, n’a tapé qu’une commande.

Voyez aussi la boucle d’ensemble que ce chapitre referme : l’ingénierie de prompt du début du cours trouve ici son canal de distribution. Un prompt soigneusement rédigé et évalué, défini une fois côté serveur, devient une commande de qualité constante pour tous les utilisateurs de tous les clients — les prompts MCP comblent le fossé entre fonctionnalités prédéfinies et besoins dynamiques des utilisateurs.

Points clés à retenir

  • list_prompts découvre le catalogue à l’exécution — le menu de commandes vit sur le serveur
  • get_prompt(nom, args) renvoie des messages interpolés, prêts pour Claude — aucun template côté client
  • Dans le CLI, / expose les prompts en commandes avec saisie guidée des arguments
  • Un prompt orchestre souvent les outils du même serveur — les primitives se composent
  • C’est le canal de distribution de votre ingénierie de prompt : écrite une fois, servie partout