Prompts dans le client
La derniere etape du client MCP : implementer la fonctionnalite des prompts pour lister les prompts disponibles et les recuperer avec les variables interpolees.
Lister les prompts
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.prompts
Recuperer un prompt specifique
La methode get_prompt gere l’interpolation des arguments. Quand vous demandez un prompt specifique, les arguments sont injectes dans la fonction prompt :
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messages
La methode renvoie des messages qui forment une conversation prete a etre envoyee directement a Claude.
Tester les prompts en action
Quand vous lancez le client et tapez une barre oblique (/), les prompts disponibles apparaissent comme commandes. Selectionner un prompt comme “format” :
- Vous demande de choisir parmi les documents disponibles
- Prend le prompt avec l’ID du document interpole
- L’envoie directement a Claude comme message utilisateur
- Claude recoit les instructions et l’ID du document
- Claude utilise les outils disponibles pour recuperer le contenu
- Claude repond avec le resultat reformate
Le workflow des prompts
- Ecrire et evaluer un prompt pertinent pour l’objectif du serveur MCP
- Definir le prompt dans le serveur avec le decorateur
@mcp.prompt - Le client peut demander ce prompt a tout moment
- Lors de la demande, fournir les arguments passes en mots-cles a la fonction
- La fonction utilise ces arguments pour personnaliser le contenu du prompt
Ce systeme cree des prompts reutilisables et parametrables partageables entre differents clients.