Définir des prompts MCP
Les prompts dans les serveurs MCP permettent de définir des instructions pré-construites et de haute qualité que les clients peuvent utiliser plutôt que d’écrire leurs propres prompts.
Pourquoi utiliser des prompts MCP ?
Un utilisateur qui demande « convertis rapport.pdf en markdown » obtiendra des résultats, mais un prompt soigneusement testé — avec des instructions précises sur le formatage, la structure et les exigences — donnera des résultats bien supérieurs.
Implémentation
from mcp.server.fastmcp import base
@mcp.prompt(
name="format",
description="Réécrit le contenu du document au format Markdown."
)
def format_document(
doc_id: str = Field(description="Identifiant du document à formater")
) -> list[base.Message]:
prompt = f"""
Votre objectif est de reformater un document pour utiliser la syntaxe markdown.
L'identifiant du document à reformater est : {doc_id}
Ajoutez des titres, des listes à puces, des tableaux, etc. selon les besoins.
Utilisez l'outil 'edit_document' pour modifier le document une fois reformaté.
"""
return [base.UserMessage(prompt)]
Bonnes pratiques
- Soyez spécifiques : des instructions détaillées donnent de meilleurs résultats
- Testez exhaustivement : avec différentes entrées et scénarios
- Concevez en lien avec vos outils : le prompt devrait guider Claude à utiliser les outils disponibles
- Décrivez clairement : les utilisateurs doivent comprendre ce que fait chaque prompt