Aller au contenu principal

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” :

  1. Vous demande de choisir parmi les documents disponibles
  2. Prend le prompt avec l’ID du document interpole
  3. L’envoie directement a Claude comme message utilisateur
  4. Claude recoit les instructions et l’ID du document
  5. Claude utilise les outils disponibles pour recuperer le contenu
  6. Claude repond avec le resultat reformate

Le workflow des prompts

  1. Ecrire et evaluer un prompt pertinent pour l’objectif du serveur MCP
  2. Definir le prompt dans le serveur avec le decorateur @mcp.prompt
  3. Le client peut demander ce prompt a tout moment
  4. Lors de la demande, fournir les arguments passes en mots-cles a la fonction
  5. La fonction utilise ces arguments pour personnaliser le contenu du prompt

Ce systeme cree des prompts reutilisables et parametrables partageables entre differents clients.