Les requêtes dans les serveurs MCP vous permettent de définir des instructions préconçues et de haute qualité que les clients peuvent utiliser au lieu de rédiger leurs propres requêtes à partir de zéro. Considérez-les comme des modèles soigneusement élaborés qui offrent de meilleurs résultats que ce que les utilisateurs pourraient concevoir par eux-mêmes.

Pourquoi utiliser des requêtes ?
Voici l'idée clé : les utilisateurs peuvent déjà demander à Claude d'effectuer la plupart des tâches directement. Par exemple, un utilisateur pourrait taper « reformate le rapport.pdf en markdown » et obtenir des résultats corrects. Mais il obtiendra de bien meilleurs résultats si vous fournissez une requête spécialisée, minutieusement testée, qui gère les cas particuliers et suit les meilleures pratiques.
En tant qu'auteur du serveur MCP, vous pouvez consacrer du temps à élaborer, tester et évaluer des requêtes qui fonctionnent de manière cohérente dans différents scénarios. Les utilisateurs bénéficient de cette expertise sans avoir à devenir eux-mêmes des experts en ingénierie de requêtes.

Création d'une commande de formatage
Mettons en œuvre un exemple pratique : une commande de formatage qui convertit des documents en markdown. Les utilisateurs taperont /format doc_id et obtiendront en retour une version markdown de leur document, formatée de manière professionnelle.
Le flux de travail se présente ainsi :
- L'utilisateur tape
/pour voir les commandes disponibles - Il sélectionne
formatet indique un identifiant de document - Claude utilise votre requête préconçue pour lire et reformater le document
- Le résultat est un markdown propre avec des en-têtes, des listes et une mise en forme appropriés
Définir des requêtes
Les requêtes utilisent un modèle de décorateur similaire à celui des outils et des ressources :
from mcp.server.fastmcp.prompts import base
@mcp.prompt(
name="format",
description="Rewrites the contents of the document in Markdown format."
)
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:
<document_id>
{doc_id}
</document_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)
]La fonction renvoie une liste de messages qui sont envoyés directement à Claude. Vous pouvez inclure plusieurs messages utilisateur et assistant pour créer des flux de conversation plus complexes.
Tester vos requêtes
Utilisez le MCP Inspector pour tester vos requêtes avant de les déployer :

L'inspecteur vous montre exactement quels messages seront envoyés à Claude, y compris la manière dont les variables sont interpolées dans votre modèle de requête. Cela vous permet de vérifier que la requête est correcte avant que les utilisateurs ne commencent à s'y fier.
Avantages clés
- Cohérence - Les utilisateurs obtiennent des résultats fiables à chaque fois
- Expertise - Vous pouvez encoder des connaissances métier dans les requêtes
- Réutilisabilité - Plusieurs applications clientes peuvent utiliser les mêmes requêtes
- Maintenance - Mettez à jour les requêtes à un seul endroit pour améliorer tous les clients
Les requêtes fonctionnent le mieux lorsqu'elles sont spécialisées pour le domaine de votre serveur MCP. Un serveur de gestion de documents pourrait disposer de requêtes pour formater, résumer ou analyser des documents. Un serveur d'analyse de données pourrait disposer de requêtes pour générer des rapports ou des visualisations.
L'objectif est de fournir des requêtes si bien conçues et testées que les utilisateurs les préfèrent à la rédaction de leurs propres instructions à partir de zéro.