Prompts in MCP-Servern ermöglichen es dir, vorgefertigte, hochwertige Anweisungen zu definieren, die Clients verwenden können, anstatt ihre eigenen Prompts von Grund auf zu schreiben. Betrachte sie als sorgfältig ausgearbeitete Vorlagen, die bessere Ergebnisse liefern als das, was Nutzer selbst erstellen könnten.

Warum Prompts verwenden?
Hier ist die zentrale Erkenntnis: Nutzer können Claude bereits bitten, die meisten Aufgaben direkt auszuführen. Zum Beispiel könnte ein Nutzer „formatiere die report.pdf in Markdown um" eingeben und ordentliche Ergebnisse erhalten. Aber sie erhalten viel bessere Ergebnisse, wenn du einen gründlich getesteten, spezialisierten Prompt bereitstellst, der Randfälle behandelt und Best Practices befolgt.
Als Autor des MCP-Servers kannst du Zeit damit verbringen, Prompts zu entwickeln, zu testen und zu bewerten, die über verschiedene Szenarien hinweg konsistent funktionieren. Nutzer profitieren von diesem Fachwissen, ohne selbst zu Experten im Prompt-Engineering werden zu müssen.

Einen Format-Befehl erstellen
Lass uns ein praktisches Beispiel umsetzen: einen Format-Befehl, der Dokumente in Markdown umwandelt. Nutzer geben /format doc_id ein und erhalten eine professionell formatierte Markdown-Version ihres Dokuments zurück.
Der Workflow sieht folgendermaßen aus:
- Der Nutzer tippt
/, um verfügbare Befehle anzuzeigen - Er wählt
formataus und gibt eine Dokument-ID an - Claude verwendet deinen vorgefertigten Prompt, um das Dokument zu lesen und neu zu formatieren
- Das Ergebnis ist sauberes Markdown mit korrekten Überschriften, Listen und Formatierung
Prompts definieren
Prompts verwenden ein ähnliches Decorator-Muster wie Tools und Ressourcen:
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)
]Die Funktion gibt eine Liste von Nachrichten zurück, die direkt an Claude gesendet werden. Du kannst mehrere Nutzer- und Assistenten-Nachrichten einbeziehen, um komplexere Gesprächsabläufe zu erstellen.
Deine Prompts testen
Verwende den MCP Inspector, um deine Prompts zu testen, bevor du sie bereitstellst:

Der Inspector zeigt dir genau, welche Nachrichten an Claude gesendet werden, einschließlich der Art und Weise, wie Variablen in deine Prompt-Vorlage interpoliert werden. So kannst du überprüfen, ob der Prompt korrekt aussieht, bevor sich Nutzer darauf verlassen.
Wichtige Vorteile
- Konsistenz - Nutzer erhalten jedes Mal zuverlässige Ergebnisse
- Fachwissen - Du kannst Domänenwissen in Prompts kodieren
- Wiederverwendbarkeit - Mehrere Client-Anwendungen können dieselben Prompts verwenden
- Wartung - Aktualisiere Prompts an einer Stelle, um alle Clients zu verbessern
Prompts funktionieren am besten, wenn sie auf die Domäne deines MCP-Servers spezialisiert sind. Ein Dokumentenverwaltungsserver könnte Prompts zum Formatieren, Zusammenfassen oder Analysieren von Dokumenten haben. Ein Datenanalyseserver könnte Prompts zum Erstellen von Berichten oder Visualisierungen haben.
Das Ziel ist es, Prompts bereitzustellen, die so gut ausgearbeitet und getestet sind, dass Nutzer sie dem Schreiben eigener Anweisungen von Grund auf vorziehen.