Chargement

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 :

python
async def list_prompts(self) -> list[types.Prompt]:
    result = await self.session().list_prompts()
    return result.prompts

Ré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 :

python
async def get_prompt(self, prompt_name, args: dict[str, str]):
    result = await self.session().get_prompt(prompt_name, args)
    return result.messages

Par 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.

La CLI après avoir tapé « /format plan.md », montrant une liste déroulante de documents disponibles — deposition.md, report.pdf, financials.docx, outlook.pdf, plan.md et spec.txt — avec plan.md en surbrillance

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

Diapositive expliquant les prompts : ils définissent un ensemble de messages utilisateur et assistant que les clients peuvent utiliser et doivent être de haute qualité, bien testés et pertinents par rapport à l'objectif du MCP — accompagnée d'un extrait de code de serveur MCP définissant un prompt « format » avec le décorateur @mcp.prompt

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.