Introduction To Model Context Protocol
← Alle Lektionen
Lektion 09Introduction To Model Context Protocol

Defining resources

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
Nach Anki exportieren (.tsv) ↓
Wissensüberprüfung 0 Fragen

No quiz for this lesson yet.