Zusammenfassung (Audio)
Keine Audio-Zusammenfassung für diese Lektion.
Studiennotizen
MCP Server: Ressourcen (Resources)
Ziel: Ermöglichung der automatischen Abfrage und Einfügung von Dokumenteninhalten in Prompts (z. B. bei der Erwähnung eines Dokuments mit @).
1. Grundkonzept der Ressourcen
- Definition: Ressourcen erlauben dem MCP Server, Daten an den Client zu übergeben.
- Prinzip: Es wird empfohlen, für jede eigenständige Leseoperation eine separate Ressource zu definieren.
- Anwendungsfall:
- Autocomplete: Anzeige einer Liste aller verfügbaren Dokumentennamen beim Tippen von @.
- Inhalt abrufen: Automatische Abfrage und Einfügung des Inhalts eines spezifischen Dokuments in den Prompt.
2. Arten von Ressourcen
- Direkte/Statische Ressourcen (Direct/Static Resources):
- Besitzen einen festen, unveränderlichen URI (z. B. docs://documents).
- Der URI ist immer identisch.
- Templatierte Ressourcen (Templated Resources):
- Enthalten einen oder mehrere Parameter/Wildcards im URI (z. B. docs://documents/{doc_id}).
- Der MCP SDK parst den Parameter (z. B. doc_id) und übergibt ihn als Keyword-Argument an die zugehörige Funktion.
- Nützlich für selektive Abfragen oder Variabilität.
3. Implementierungsstrategie (Beispiel)
Um die Funktionalität zu realisieren, sind zwei separate Ressourcen notwendig:
- Ressource zur Auflistung von Dokumentennamen:
- Typ: Direkte Ressource.
- URI: docs://documents.
- Funktion: Gibt eine Liste aller Dokumentennamen (IDs) zurück.
- Ressource zum Abrufen eines einzelnen Dokuments:
- Typ: Templatierte Ressource.
- URI: docs://documents/{doc_id}.
- Funktion: Nimmt die übergebene doc_id entgegen und gibt den Inhalt des Dokuments zurück.
4. Workflow und Datenfluss
- Client-Anfrage: Der MCP Client sendet eine Lese-Ressourcen-Anfrage (Read Resource Request) an den Server, wobei der URI die Adresse der gewünschten Ressource angibt.
- Server-Verarbeitung: Der MCP Server identifiziert den URI und führt die definierte Funktion aus.
- Antwort: Der Server sendet das Ergebnis zurück im Format einer Read Resource Result Message.
- MIME-Typ: Der MIME-Typ (z. B. application/json oder text/plain) dient als Hinweis für den Client über das Format der zurückgegeben Daten.
- Datenhandling: Der MCP Python SDK serialisiert die zurückgegebenen Daten automatisch (oft als JSON-String im text-Property). Der Client muss diese Daten deserialisieren.
Takeaways
- Ressourcen dienen dazu, dem MCP Server die Übergabe von Daten an den Client zu ermöglichen, beispielsweise zur automatischen Abfrage von Dokumenteninhalten in Prompts.
- Es gibt statische Ressourcen mit einem festen URI und templatisierte Ressourcen, die Parameter (Wildcards) im URI enthalten, um selektive Abfragen zu ermöglichen.
- Für unterschiedliche Funktionen (z. B. Auflistung von IDs vs. Abrufen eines einzelnen Dokuments) müssen separate Ressourcen definiert werden.
- Der Datenfluss beginnt mit einer Client-Anfrage (Read Resource Request) an den Server, der das Ergebnis als Read Resource Result Message zurücksendet.
Lernkarten 8 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Wissensüberprüfung 0 Fragen
No quiz for this lesson yet.