Les prompts dans le client
La derniere etape est d’implementer la fonctionnalite de prompts dans le client MCP.
Lister les prompts
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.prompts
Recuperer un prompt specifique
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messages
Les arguments fournis sont injectes dans les parametres du prompt cote serveur. La methode retourne des messages prets a etre envoyes directement a Claude.
Utilisation dans le CLI
Quand l’utilisateur tape un slash (/), les prompts disponibles apparaissent comme des commandes. La selection d’un prompt comme “format” demande de choisir les valeurs des arguments (comme le document a formater). Le systeme :
- Recupere le prompt avec les arguments interpoles
- Envoie le prompt complet a Claude
- Claude execute les appels d’outils necessaires
- Retourne le resultat formate
Les prompts definissent des ensembles de messages reutilisables. Ils creent une separation nette entre la logique du prompt (cote serveur) et l’execution (cote client et Claude).