Définir des prompts MCP
Mis à jour le 30 juillet 2026
Troisième et dernière primitive MCP : les prompts. Les serveurs peuvent définir des instructions pré-écrites et de haute qualité que les clients utilisent au lieu d’écrire leurs propres prompts — des modèles soigneusement élaborés qui donnent de meilleurs résultats que ce que les utilisateurs formuleraient seuls. Après les outils (que Claude appelle) et les ressources (que l’application lit), les prompts complètent le triptyque : des workflows que l’utilisateur déclenche.
Pourquoi utiliser des prompts MCP ?
L’argument tient dans une comparaison. Vous pourriez demander à Claude « Convertis report.pdf en Markdown » et ça fonctionnerait — à peu près, avec le formatage que le modèle improvise ce jour-là. Mais vous obtiendrez de bien meilleurs résultats avec un prompt détaillé et testé, qui couvre les cas limites et donne des instructions de formatage spécifiques : quels niveaux de titres, comment traiter les tableaux, quel outil utiliser pour écrire le résultat.
L’idée économique derrière la primitive : en tant que développeurs de serveurs MCP, nous pouvons passer du temps à élaborer et tester de très bons prompts — une fois —, puis les rendre disponibles à tous les utilisateurs de notre serveur. L’ingénierie de prompt devient un actif du serveur, plus une corvée répétée par chaque utilisateur.
Définir un prompt
Les prompts utilisent un pattern de décorateur 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)
]
Plusieurs détails méritent lecture. La fonction est un template : le paramètre doc_id sera fourni par le client au moment de la demande, et l’interpolation se fait ici, côté serveur — le client ne voit jamais le texte du prompt. Le retour est une liste de messages typés (base.UserMessage), prêts à être envoyés directement à Claude ; un prompt peut donc en contenir plusieurs, y compris des exemples de conversation. Et regardez la dernière ligne du prompt : elle référence l’outil edit_document du même serveur — le prompt orchestre les outils, les primitives se composent.
Tester les prompts
Le réflexe habituel : l’inspecteur MCP. Naviguez vers l’onglet Prompts, sélectionnez votre prompt, et fournissez les paramètres requis — l’inspecteur affiche les messages générés qui seraient envoyés à Claude, interpolation comprise. C’est le moyen le plus rapide de vérifier le rendu final d’un template avant qu’un vrai client ne le consomme.
Avantages
Les bénéfices de la primitive se lisent à quatre niveaux. Le contrôle qualité : les auteurs du serveur testent et affinent les prompts — idéalement avec un vrai pipeline d’évaluation, comme au début de ce cours. La cohérence : tous les utilisateurs obtiennent le même prompt de haute qualité, au lieu de mille variantes improvisées. La spécialisation : les prompts sont adaptés au domaine précis du serveur, avec ses conventions et ses outils. Et la réutilisabilité : plusieurs applications clientes peuvent utiliser les mêmes prompts — écrits une fois, servis partout.
Les prompts sont particulièrement précieux quand votre serveur MCP a un domaine de focus spécifique — gestion de documents, analyse de données, génération de code : partout où l’expertise du domaine peut se condenser en instructions réutilisables. La prochaine leçon branche cette primitive côté client, sous forme de commandes slash.
Points clés à retenir
- Les prompts MCP sont des templates de haute qualité, écrits et testés une fois côté serveur
@mcp.prompt+ fonction à paramètres : l’interpolation se fait sur le serveur, le client reçoit des messages prêts- Un prompt peut orchestrer les outils du même serveur — les primitives se composent
- L’inspecteur (onglet Prompts) montre les messages générés, interpolation comprise
- Qualité, cohérence, spécialisation, réutilisabilité : l’ingénierie de prompt devient un actif du serveur