Aller au contenu principal

Definir des prompts MCP

Les serveurs MCP peuvent definir des prompts : des instructions pre-ecrites et de haute qualite que les clients peuvent utiliser au lieu d’ecrire leurs propres prompts. Ce sont des modeles soigneusement elabores qui donnent de meilleurs resultats que ce que les utilisateurs pourraient ecrire seuls.

Pourquoi utiliser des prompts MCP ?

Vous pourriez demander a Claude “Convertis report.pdf en Markdown” et ca fonctionnerait. Mais vous obtiendrez de bien meilleurs resultats avec un prompt detaille et teste qui couvre les cas limites et donne des instructions de formatage specifiques.

L’idee : en tant que developpeurs de serveurs MCP, nous pouvons passer du temps a elaborer et tester de tres bons prompts, puis les rendre disponibles a tous les utilisateurs de notre serveur.

Definir un prompt

Les prompts utilisent un pattern de decorateur similaire aux outils et ressources :

from mcp.server.fastmcp.prompts import base

@mcp.prompt(
    name="format",
    description="Reecrit le contenu du document au format Markdown."
)
def format_document(
    doc_id: str = Field(description="Id du document a formater")
) -> list[base.Message]:
    prompt = f"""
Votre objectif est de reformater un document avec la syntaxe Markdown.

L'id du document a reformater est :

{doc_id}

Ajoutez des en-tetes, puces, tableaux, etc. selon les besoins.
Utilisez l'outil 'edit_document' pour editer le document.
"""

    return [
        base.UserMessage(prompt)
    ]

La fonction renvoie une liste de messages qui peuvent etre envoyes directement a Claude.

Tester les prompts

Utilisez l’inspecteur MCP : naviguez vers l’onglet Prompts, selectionnez votre prompt, et fournissez les parametres requis. L’inspecteur affiche les messages generes qui seraient envoyes a Claude.

Avantages

  • Controle qualite : les auteurs du serveur testent et affinent les prompts
  • Coherence : tous les utilisateurs obtiennent le meme prompt de haute qualite
  • Specialisation : les prompts sont adaptes au domaine specifique du serveur
  • Reutilisabilite : plusieurs applications clientes peuvent utiliser les memes prompts

Les prompts sont particulierement precieux quand votre serveur MCP a un domaine de focus specifique (gestion de documents, analyse de donnees, generation de code).