1. Konzepte
MCP Offizielle Dokumentation (Deutsche)
  • Erste Schritte
    • Einführung
    • Beispielserver
    • Beispielkunden
    • Quickstart
      • Für Serverentwickler
      • Für Client-Entwickler
      • Für Claude Desktop-Benutzer
  • Anleitungen
    • Erstellen von MCP mit LLMs
    • Debuggen
    • Inspektor
  • Konzepte
    • Kernarchitektur
    • Ressourcen
    • Eingabeaufforderungen
    • Werkzeuge
    • Probenahme
    • Wurzeln
    • Transportmöglichkeiten
  • Entwicklung
    • Was ist neu
    • Fahrplan
    • Beitragen
  1. Konzepte

Eingabeaufforderungen

Wiederverwendbare Prompt-Vorlagen und Workflows erstellen
Prompts ermöglichen es Servern, wiederverwendbare Prompt-Vorlagen und Workflows zu definieren, die Clients den Benutzern und LLMs leicht zugänglich machen können. Sie bieten eine leistungsstarke Möglichkeit, gängige LLM-Interaktionen zu standardisieren und zu teilen.
Prompts sind benutzergesteuert konzipiert, d. h. sie werden von Servern an Clients weitergegeben, wobei der Benutzer sie explizit auswählen und verwenden kann.

Überblick#

Prompts in MCP sind vordefinierte Vorlagen, die Folgendes können:
Dynamische Argumente akzeptieren
Kontext aus Ressourcen einbeziehen
Mehrere Interaktionen verketten
Spezifische Workflows steuern
Als UI-Elemente (wie Slash-Befehle) angezeigt werden

Prompt-Struktur#

Jeder Prompt wird definiert mit:

Prompts entdecken#

Clients können verfügbare Prompts über den prompts/list-Endpunkt entdecken:

Prompts verwenden#

Um einen Prompt zu verwenden, senden Clients eine prompts/get-Anfrage:

Dynamische Prompts#

Prompts können dynamisch sein und Folgendes beinhalten:

Eingebetteter Ressourcenkontext#

{
  "name": "analyze-project",
  "description": "Projektprotokolle und Code analysieren",
  "arguments": [
    {
      "name": "timeframe",
      "description": "Zeitraum zur Analyse von Protokollen",
      "required": true
    },
    {
      "name": "fileUri",
      "description": "URI der zu überprüfenden Codedatei",
      "required": true
    }
  ]
}
Bei der Bearbeitung der prompts/get-Anfrage:
{
  "messages": [
    {
      "role": "user",
      "content": {
        "type": "text",
        "text": "Analysieren Sie diese Systemprotokolle und die Codedatei auf Probleme:"
      }
    },
    {
      "role": "user",
      "content": {
        "type": "resource",
        "resource": {
          "uri": "logs://recent?timeframe=1h",
          "text": "[2024-03-14 15:32:11] ERROR: Connection timeout in network.py:127\n[2024-03-14 15:32:15] WARN: Retrying connection (attempt 2/3)\n[2024-03-14 15:32:20] ERROR: Max retries exceeded",
          "mimeType": "text/plain"
        }
      }
    },
    {
      "role": "user",
      "content": {
        "type": "resource",
        "resource": {
          "uri": "file:///path/to/code.py",
          "text": "def connect_to_service(timeout=30):\n    retries = 3\n    for attempt in range(retries):\n        try:\n            return establish_connection(timeout)\n        except TimeoutError:\n            if attempt == retries - 1:\n                raise\n            time.sleep(5)\n\ndef establish_connection(timeout):\n    # Connection implementation\n    pass",
          "mimeType": "text/x-python"
        }
      }
    }
  ]
}

Mehrstufige Workflows#

Beispielimplementierung#

Hier ist ein vollständiges Beispiel für die Implementierung von Prompts in einem MCP-Server:
TypeScript
Python

Bewährte Verfahren#

Bei der Implementierung von Prompts:
1.
Verwenden Sie klare, beschreibende Prompt-Namen
2.
Geben Sie detaillierte Beschreibungen für Prompts und Argumente an
3.
Validieren Sie alle erforderlichen Argumente
4.
Behandeln Sie fehlende Argumente auf elegante Weise
5.
Erwägen Sie die Versionierung für Prompt-Vorlagen
6.
Cachen Sie dynamische Inhalte, wenn dies angebracht ist
7.
Implementieren Sie die Fehlerbehandlung
8.
Dokumentieren Sie die erwarteten Argumentformate
9.
Erwägen Sie die Zusammensetzbarkeit von Prompts
10.
Testen Sie Prompts mit verschiedenen Eingaben

UI-Integration#

Prompts können in Client-UIs wie folgt angezeigt werden:
Slash-Befehle
Schnellaktionen
Kontextmenüelemente
Befehlspaletteneinträge
Geführte Workflows
Interaktive Formulare

Aktualisierungen und Änderungen#

Server können Clients über Prompt-Änderungen benachrichtigen:
1.
Server-Funktion: prompts.listChanged
2.
Benachrichtigung: notifications/prompts/list_changed
3.
Client ruft die Prompt-Liste erneut ab

Sicherheitsüberlegungen#

Bei der Implementierung von Prompts:
Validieren Sie alle Argumente
Bereinigen Sie Benutzereingaben
Erwägen Sie die Ratenbegrenzung
Implementieren Sie Zugriffskontrollen
Überwachen Sie die Prompt-Nutzung
Behandeln Sie sensible Daten angemessen
Validieren Sie generierte Inhalte
Implementieren Sie Timeouts
Erwägen Sie Prompt-Injection-Risiken
Dokumentieren Sie die Sicherheitsanforderungen
Modified at 2025-03-13 04:01:28
Previous
Ressourcen
Next
Werkzeuge
Built with