Zusammenfassung (Audio)
Keine Audio-Zusammenfassung für diese Lektion.
Studiennotizen
📚 Lernnotizen: Ressourcen in MCP-Servern
🎯 Kernkonzept: Ressourcen (Resources)
- Zweck: Ressourcen ermöglichen es dem MCP-Server, Daten an den Client (z. B. die Anwendung) zu übergeben.
- Anwendungsfall: Automatisches Abrufen von Dokumenteninhalten, wenn ein Benutzer ein Dokument erwähnt (z. B. @report. pdf).
- Funktionsweise: Der MCP-Server wird für jede spezifische Leseoperation definiert.
🛠️ Ressourcen-Typen
- Direkte/Statische Ressourcen (Direct/Static Resources):
- Besitzen eine feste, unveränderliche URI (z. B. docs://documents).
- Die URI ist immer exakt gleich.
- Templatierte Ressourcen (Templated Resources):
- Besitzen Parameter oder Wildcards in der URI (z. B. docs://documents/{doc_id}).
- Der MCP Python SDK parst diese Parameter und übergibt sie als Schlüsselwortargument (Keyword Argument) an die zugehörige Funktion.
- Diese sind notwendig für Auswahl, Variabilität oder Anpassung.
⚙️ Workflow und Implementierung
- Ziel des Features:
- Autocomplete: Beim Tippen von @ muss der MCP-Server eine Liste aller verfügbaren Dokumentennamen bereitstellen.
- Inhalt abrufen: Beim Absenden der Nachricht muss der MCP-Server den Inhalt des spezifischen Dokuments liefern.
- Zugriff auf Ressourcen:
- Der Client ruft die Ressource über den MCP Client auf.
- Der Client sendet eine Read Resource Request an den Server, wobei die Ziel-URI angegeben wird.
- Der MCP-Server führt die definierte Funktion aus und sendet ein Read Resource Result zurück.
- Beispiele für Ressourcen-Definition:
- Liste der Dokumentennamen (Autocomplete):
- Typ: Direkte Ressource.
- URI: docs://documents.
- MIME-Typ: application/json (Hinweis auf strukturierte Daten).
- Rückgabewert: Eine Liste der Dokumentennamen (Keys des Dokuments).
- Inhalt eines Dokuments:
- Typ: Templatierte Ressource.
- URI: docs://documents/{doc_id}.
- MIME-Typ: text/plain (Hinweis auf reinen Text).
- Rückgabewert: Der Textinhalt des Dokuments.
💡 Wichtige Hinweise
- MIME-Typ: Dient als Hinweis für den Client, welche Art von Daten zurückgegeben werden (z. B. application/json vs. text/plain).
- Parameter: In einer templatierten Ressource wird der in der URI definierte Platzhalter (z. B. doc_id) automatisch als Schlüsselwortargument in die Python-Funktion übergeben.
- Testen: Ressourcen können über den MCP Inspector getestet werden, um sowohl statische als auch template-basierte Endpunkte zu validieren.
Takeaways
- Ressourcen ermöglichen es dem MCP-Server, Daten (z. B. Dokumenteninhalte) an den Client zu übergeben.
- Es gibt statische Ressourcen mit fester URI und templatisierte Ressourcen, die Parameter (z. B. {doc_id}) enthalten.
- Templatisierte Ressourcen übergeben die in der URI definierten Parameter automatisch als Schlüsselwortargument an die Serverfunktion.
- Der Client initiiert den Datenabruf durch eine "Read Resource Request" und empfängt ein "Read Resource Result".
- Der MIME-Typ gibt dem Client den Datentyp der zurückgegeben Daten an (z. B. application/json oder text/plain).
Lernkarten 8 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Wissensüberprüfung 0 Fragen
No quiz for this lesson yet.