Prompts in MCP definieren eine Reihe von Benutzer- und Assistenten-Nachrichten, die vom Client verwendet werden können. Diese Prompts sollten von hoher Qualität, gut getestet und relevant für den Gesamtzweck des MCP-Servers sein.

Implementierung von List Prompts
Der erste Schritt ist die Implementierung der Methode list_prompts in deinem MCP-Client. Diese Methode ruft alle verfügbaren Prompts vom Server ab:
async def list_prompts(self) -> list[types.Prompt]:
result = await self.session().list_prompts()
return result.promptsDiese einfache Implementierung ruft die Methode list_prompts der Session auf und gibt das Prompts-Array aus dem Ergebnis zurück.
Abrufen einzelner Prompts
Die Methode get_prompt ruft einen bestimmten Prompt ab, in den Argumente interpoliert werden. Wenn du einen Prompt anforderst, stellst du Argumente bereit, die als Keyword-Argumente an die Prompt-Funktion übergeben werden:
async def get_prompt(self, prompt_name, args: dict[str, str]):
result = await self.session().get_prompt(prompt_name, args)
return result.messagesDie Methode gibt die Nachrichten aus dem Ergebnis zurück, die eine Konversation bilden, die direkt in Claude eingespeist werden kann.
Wie Prompt-Argumente funktionieren
Wenn du eine Prompt-Funktion auf der Serverseite definierst, kann sie Parameter akzeptieren. Zum Beispiel könnte ein Prompt zur Dokumentformatierung einen Parameter doc_id erwarten:
def format_document(doc_id: str):
# Die doc_id wird in den Prompt eingefügtWenn der Client get_prompt aufruft, sollte das Argumente-Dictionary die erwarteten Schlüssel enthalten. Der MCP-Server übergibt diese als Keyword-Argumente an die Prompt-Funktion, wodurch dynamische Inhalte in die Prompt-Vorlage eingefügt werden können.
Testen von Prompts in der CLI
Nach der Implementierung kannst du Prompts über die Kommandozeilenschnittstelle testen. Wenn du einen Schrägstrich eingibst, erscheinen verfügbare Prompts als Befehle. Die Auswahl eines Prompts kann dich dazu auffordern, aus verfügbaren Optionen (wie Dokument-IDs) zu wählen, und anschließend wird der vollständige Prompt an Claude gesendet.

Der Ablauf sieht folgendermaßen aus:
- Der Benutzer wählt einen Prompt aus (wie „format")
- Das System fragt nach den erforderlichen Argumenten (wie welches Dokument formatiert werden soll)
- Der Prompt wird mit den interpolierten Werten an Claude gesendet
- Claude kann dann Tools verwenden, um zusätzliche Daten abzurufen und die Aufgabe abzuschließen

Best Practices für Prompts
Beim Erstellen von Prompts für deinen MCP-Server:
- Mache sie relevant für den Zweck deines Servers
- Teste sie gründlich vor der Bereitstellung
- Verwende klare, spezifische Anweisungen
- Gestalte sie so, dass sie gut mit deinen verfügbaren Tools zusammenarbeiten
- Überlege, welche Argumente Benutzer bereitstellen müssen
Prompts überbrücken die Lücke zwischen vordefinierter Funktionalität und dynamischen Benutzerbedürfnissen, indem sie Claude strukturierte Ausgangspunkte für komplexe Aufgaben geben und dabei durch Parametrisierung Flexibilität bewahren.