Wird geladen

Der letzte Schritt beim Aufbau unseres MCP-Clients ist die Implementierung der Prompt-Funktionalität. Dies ermöglicht es uns, alle verfügbaren Prompts vom Server aufzulisten und bestimmte Prompts abzurufen, in die Variablen eingefügt werden.

Implementierung von List Prompts

Die Methode list_prompts ist unkompliziert. Wir rufen die List-Prompts-Methode der Session auf und geben die Prompts zurück:

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

Abrufen einzelner Prompts

Die Methode get_prompt ist interessanter, da sie die Interpolation von Argumenten handhabt. Wenn wir einen bestimmten Prompt anfordern, übergeben wir Argumente, die in die Prompt-Funktion eingefügt werden. Wenn unser Server beispielsweise einen „format"-Prompt hat, der einen Parameter doc_id erwartet, geben wir diesen Wert im Argumente-Dictionary an:

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 Nachrichten zurück, die ein Gespräch bilden, das direkt an Claude übergeben werden kann.

Wie Prompt-Argumente funktionieren

Wenn du eine Prompt-Funktion in deinem MCP-Server definierst, werden alle Parameter als Interpolationsvariablen verfügbar. Das Argumente-Dictionary, das du an get_prompt übergibst, liefert Werte für diese Parameter. Der Server generiert dann den vollständigen Prompt mit deinen Werten, die an den entsprechenden Stellen eingesetzt werden.

Testen der Implementierung

Sobald die Implementierung abgeschlossen ist, kannst du Prompts über die CLI testen. Wenn du einen Schrägstrich eingibst, erscheinen verfügbare Prompts als Befehle. Wenn du einen Prompt wie „format" auswählst, wirst du aufgefordert, Werte für alle erforderlichen Argumente auszuwählen (z. B. die Auswahl eines zu formatierenden Dokuments). Das System führt dann Folgendes aus:

  1. Ruft den Prompt mit deinen interpolierten Argumenten ab
  2. Sendet den vollständigen Prompt an Claude
  3. Claude führt alle notwendigen Tool-Aufrufe aus, um die Anfrage zu erfüllen
  4. Gibt das formatierte Ergebnis zurück

Prompts in der Praxis

Prompts definieren wiederverwendbare Sätze von Benutzer- und Assistenten-Nachrichten, die Clients aufrufen können. Sie sollten hochwertig, gut getestet und relevant für den Zweck deines MCP-Servers sein. Betrachte sie als vorgefertigte Workflows, die die Tools und Ressourcen deines Servers kombinieren, um bestimmte Aufgaben zu erfüllen.

Das Prompt-System schafft eine klare Trennung zwischen der Prompt-Logik (definiert auf dem Server) und der Ausführung (gehandhabt vom Client und Claude). Dies macht es einfach, ausgefeilte, mehrstufige Workflows zu erstellen, die Benutzer mit einfachen Befehlen auslösen können.