Les prompts dans les serveurs MCP vous permettent de définir des instructions préconstruites et de haute qualité que les clients peuvent utiliser au lieu d'écrire leurs propres prompts à partir de zéro. Considérez-les comme des modèles soigneusement conçus qui donnent de meilleurs résultats que ce que les utilisateurs pourraient imaginer par eux-mêmes.
Pourquoi utiliser des prompts ?
Disons que vous voulez que Claude reformate un document en markdown. Un utilisateur pourrait simplement taper « convertir report.pdf en markdown » et obtenir des résultats corrects. Mais il obtiendrait probablement un bien meilleur résultat s'il utilisait un prompt spécialisé, rigoureusement testé, que vous avez conçu spécifiquement pour le formatage de documents.

L'idée clé est que, bien que les utilisateurs puissent accomplir ces tâches par eux-mêmes, ils obtiendront des résultats supérieurs en utilisant des prompts qui ont été soigneusement conçus et testés par les auteurs du serveur MCP.
Comment fonctionnent les prompts
Les prompts définissent un ensemble de messages utilisateur et assistant que les clients peuvent utiliser directement. Lorsqu'un client demande un prompt, votre serveur renvoie une liste de messages qui peuvent être envoyés directement à Claude.

La structure de base ressemble à ceci :
@mcp.prompt(
name="format",
description="Rewrites the contents of a document in Markdown format",
)
def format_document(
doc_id: str = Field(description="Id of the document to format"),
) -> list[base.Message]:
# Retourne une liste de messagesCréer une commande de formatage
Voici un exemple pratique. Nous allons créer une commande de formatage qui permet aux utilisateurs de taper /format doc_id pour reformater n'importe quel document en syntaxe markdown.
L'implémentation du prompt inclut des instructions détaillées pour Claude :
def format_document(
doc_id: str = Field(description="Id of the document to format"),
) -> list[base.Message]:
prompt = f"""
Your goal is to reformat a document to be written with markdown syntax.
The id of the document you need to reformat is:
{doc_id}
Add in headers, bullet points, tables, etc as necessary. Feel free to add in structure.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""
return [
base.UserMessage(prompt)
]Tester vos prompts
Vous pouvez tester des prompts en utilisant le MCP Inspector. Accédez à l'onglet Prompts, sélectionnez votre prompt et fournissez les paramètres requis.

L'inspecteur vous montre exactement quels messages seront envoyés à Claude, y compris la manière dont les paramètres sont interpolés dans le texte du prompt.
Avantages clés
- Contrôle qualité - Vous pouvez tester et affiner les prompts avant que les utilisateurs ne les voient
- Cohérence - Les utilisateurs obtiennent des résultats fiables à chaque fois
- Spécialisation - Les prompts peuvent être adaptés au domaine spécifique de votre serveur
- Réutilisabilité - Plusieurs clients peuvent utiliser les mêmes prompts bien conçus
Détails d'implémentation
N'oubliez pas d'importer le module de base pour les types de messages :
from mcp.server.fastmcp import FastMCP
from mcp.server.fastmcp.prompts import baseLes prompts doivent être de haute qualité, bien testés et pertinents par rapport à l'objectif global de votre serveur MCP. Dans notre exemple de gestion de documents, les prompts de formatage ont parfaitement leur place puisque le serveur est spécialisé dans les opérations sur les documents.