La dernière étape de la construction de notre client MCP consiste à implémenter la fonctionnalité de prompts. Cela nous permet de lister tous les prompts disponibles depuis le serveur et de récupérer des prompts spécifiques avec les variables renseignées.
Implémentation de la liste des prompts
La méthode list_prompts est simple. Elle appelle la fonction de liste des prompts de la session et renvoie les prompts :
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.promptsRécupération des prompts individuels
La méthode get_prompt est plus intéressante car elle gère l'interpolation des variables. Lorsque vous demandez un prompt, vous fournissez des arguments qui sont transmis à la fonction de prompt en tant qu'arguments nommés :
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messagesPar exemple, si votre serveur dispose d'un prompt format_document qui attend un paramètre doc_id, le dictionnaire d'arguments contiendrait {"doc_id": "plan.md"}. Cette valeur est interpolée dans le modèle de prompt.
Test des prompts en action
Une fois implémenté, vous pouvez tester les prompts via la CLI. Lorsque vous tapez une barre oblique (/), les prompts disponibles apparaissent comme des commandes. Sélectionner un prompt comme « format » vous invitera à choisir parmi les documents disponibles.

Après avoir sélectionné un document, le système envoie le prompt complet à Claude. L'IA reçoit à la fois les instructions de formatage et l'identifiant du document, puis utilise les outils disponibles pour récupérer et traiter le contenu.
Fonctionnement des prompts

Les prompts définissent un ensemble de messages utilisateur et assistant que les clients peuvent utiliser. Ils doivent être de haute qualité, bien testés et pertinents par rapport à l'objectif de votre serveur MCP. Le flux de travail est le suivant :
- Rédiger et évaluer un prompt pertinent pour les fonctionnalités de votre serveur
- Définir le prompt dans votre serveur MCP à l'aide du décorateur
@mcp.prompt - Les clients peuvent demander le prompt à tout moment
- Les arguments fournis par le client deviennent des arguments nommés dans votre fonction de prompt
- La fonction renvoie des messages formatés prêts pour le modèle d'IA
Ce système crée des prompts réutilisables et paramétrés qui maintiennent la cohérence tout en permettant la personnalisation via des variables. C'est particulièrement utile pour les flux de travail complexes où vous souhaitez vous assurer que l'IA reçoit des instructions correctement structurées à chaque fois.