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 mit ausgefüllten Variablen abzurufen.

Implementierung von List Prompts

Die Methode list_prompts ist unkompliziert. Sie ruft die List-Prompts-Funktion der Session auf und gibt 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 Variableninterpolation übernimmt. Wenn du einen Prompt anforderst, gibst du Argumente an, 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

Wenn dein Server beispielsweise einen format_document-Prompt hat, der einen doc_id-Parameter erwartet, würde das Argumente-Dictionary {"doc_id": "plan.md"} enthalten. Dieser Wert wird in die Prompt-Vorlage interpoliert.

Testen von Prompts in Aktion

Nach der Implementierung kannst du Prompts über die CLI testen. Wenn du einen Schrägstrich (/) eingibst, erscheinen verfügbare Prompts als Befehle. Die Auswahl eines Prompts wie „format" fordert dich auf, aus verfügbaren Dokumenten zu wählen.

Die CLI nach Eingabe von „/format plan.md", die ein Dropdown mit verfügbaren Dokumenten zeigt — deposition.md, report.pdf, financials.docx, outlook.pdf, plan.md und spec.txt — wobei plan.md hervorgehoben ist

Nach der Auswahl eines Dokuments sendet das System den vollständigen Prompt an Claude. Die KI erhält sowohl die Formatierungsanweisungen als auch die Dokument-ID und verwendet dann verfügbare Tools, um den Inhalt abzurufen und zu verarbeiten.

Wie Prompts funktionieren

Folie zur Erklärung von Prompts: Sie definieren eine Reihe von Benutzer- und Assistentennachrichten, die Clients verwenden können, und sollten von hoher Qualität, gut getestet und relevant für den Zweck des MCP sein — zusammen mit einem MCP-Server-Codeausschnitt, der einen „format"-Prompt mit dem @mcp.prompt-Decorator definiert

Prompts definieren eine Reihe von Benutzer- und Assistentennachrichten, die Clients verwenden können. Sie sollten von hoher Qualität, gut getestet und relevant für den Zweck deines MCP-Servers sein. Der Workflow ist:

  • Schreibe und evaluiere einen Prompt, der für die Funktionalität deines Servers relevant ist
  • Definiere den Prompt in deinem MCP-Server mit dem @mcp.prompt-Decorator
  • Clients können den Prompt jederzeit anfordern
  • Vom Client bereitgestellte Argumente werden zu Keyword-Argumenten in deiner Prompt-Funktion
  • Die Funktion gibt formatierte Nachrichten zurück, die für das KI-Modell bereit sind

Dieses System erstellt wiederverwendbare, parametrisierte Prompts, die Konsistenz bewahren und gleichzeitig Anpassungen durch Variablen ermöglichen. Es ist besonders nützlich für komplexe Workflows, bei denen du sicherstellen möchtest, dass die KI jedes Mal ordnungsgemäß strukturierte Anweisungen erhält.