La dernière étape dans la construction de notre client MCP consiste à implémenter la fonctionnalité des prompts. Cela nous permet de lister tous les prompts disponibles depuis le serveur et de récupérer des prompts spécifiques avec des variables interpolées dans ceux-ci.
Implémentation de List Prompts
La méthode list_prompts est simple. Nous appelons la méthode de liste des prompts de la session et retournons les prompts :
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.promptsRécupération de prompts individuels
La méthode get_prompt est plus intéressante car elle gère l'interpolation des arguments. Lorsque nous demandons un prompt spécifique, nous passons des arguments qui sont injectés dans la fonction de prompt. Par exemple, si notre serveur dispose d'un prompt « format » qui attend un paramètre doc_id, nous fournissons cette valeur dans le dictionnaire d'arguments :
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messagesLa méthode retourne des messages qui forment une conversation prête à être transmise directement à Claude.
Comment fonctionnent les arguments de prompt
Lorsque vous définissez une fonction de prompt dans votre serveur MCP, tous les paramètres deviennent disponibles comme variables d'interpolation. Le dictionnaire d'arguments que vous passez à get_prompt fournit des valeurs pour ces paramètres. Le serveur génère ensuite le prompt complet avec vos valeurs substituées aux emplacements appropriés.

Test de l'implémentation
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 des valeurs pour tous les arguments requis (comme sélectionner un document à formater). Le système ensuite :
- Récupère le prompt avec vos arguments interpolés
- Envoie le prompt complet à Claude
- Claude exécute tous les appels d'outils nécessaires pour satisfaire la demande
- Retourne le résultat formaté

Les prompts en pratique
Les prompts définissent des ensembles réutilisables de messages utilisateur et assistant que les clients peuvent invoquer. Ils doivent être de haute qualité, bien testés, et pertinents par rapport à l'objectif de votre serveur MCP. Considérez-les comme des workflows préconstruits qui combinent les outils et ressources de votre serveur pour accomplir des tâches spécifiques.
Le système de prompts crée une séparation nette entre la logique du prompt (définie sur le serveur) et l'exécution (gérée par le client et Claude). Cela facilite la création de workflows sophistiqués et multi-étapes que les utilisateurs peuvent déclencher avec des commandes simples.