Wird geladen

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:

python
async def list_prompts(self) -> list[types.Prompt]:
    result = await self.session().list_prompts()
    return result.prompts

Diese 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:

python
async def get_prompt(self, prompt_name, args: dict[str, str]):
    result = await self.session().get_prompt(prompt_name, args)
    return result.messages

Die 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:

python
def format_document(doc_id: str):
    # Die doc_id wird in den Prompt eingefügt

Wenn 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:

  1. Der Benutzer wählt einen Prompt aus (wie „format")
  2. Das System fragt nach den erforderlichen Argumenten (wie welches Dokument formatiert werden soll)
  3. Der Prompt wird mit den interpolierten Werten an Claude gesendet
  4. 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.