Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.langdock.com/llms.txt

Use this file to discover all available pages before exploring further.

Die MCP-Spezifikation definiert Resources als Standardweg, damit MCP-Server Dateien und andere Kontextdaten für Clients bereitstellen können. Resources sind application-driven: Die Host-Anwendung entscheidet, wie User sie entdecken, auswählen, lesen, ansehen oder anhängen. In Langdock können MCP-Resources zu regulären Datei-Anhängen werden, die User ansehen, herunterladen und an andere Tools weitergeben können.

MCP-Resources für Dateien

So funktionieren Resources

Ein MCP-Server stellt Dateien als Resources mit stabilen URIs bereit. Ein Client kann sie über resources/list entdecken und den Inhalt anschließend über resources/read abrufen. Entscheidend für Datei-Output ist die resources/read-Antwort. Resource-Inhalte können Text sein:
{
  "contents": [
    {
      "uri": "file:///reports/summary.md",
      "mimeType": "text/markdown",
      "text": "# Zusammenfassung\n\nGeneriert von meinem MCP-Server."
    }
  ]
}
Oder Binärdaten, base64-kodiert in blob:
{
  "contents": [
    {
      "uri": "file:///reports/report.pdf",
      "mimeType": "application/pdf",
      "blob": "<base64-kodierte datei-bytes>"
    }
  ]
}
Langdock liest diese contents-Einträge und speichert sie als Action-Datei-Outputs. Die uri liefert den Dateinamen, der mimeType teilt Langdock mit, wie die Datei verarbeitet werden soll, und text oder blob enthält den Dateiinhalt.

Demo-Resource-Server

Dieser minimale Server stellt eine Markdown-Datei als MCP-Resource bereit:
server.registerResource(
  "summary",
  "file:///reports/summary.md",
  {
    title: "Generierte Zusammenfassung",
    description: "Eine Markdown-Zusammenfassung vom MCP-Server",
    mimeType: "text/markdown",
  },
  async (uri) => ({
    contents: [
      {
        uri: uri.href,
        mimeType: "text/markdown",
        text: "# Zusammenfassung\n\nDiese Datei kommt aus einer MCP-Resource.",
      },
    ],
  }),
);
Wenn Langdock diese Resource liest, hängt es summary.md an die Unterhaltung an.

Anforderungen

  • Gib Dateidaten in contents zurück.
  • Gib mimeType an; Langdock braucht ihn, um die Datei korrekt zu verarbeiten.
  • Gib eine aussagekräftige uri an; das letzte Pfadsegment wird zum Dateinamen.
  • Verwende blob für Binärdateien, base64-kodiert ohne Data-URI-Präfix.
  • Verwende text für Plain Text, Markdown, JSON, HTML und andere textbasierte Dateien.

Beispiel-Resource-Output

{
  "contents": [
    {
      "uri": "file:///beispiel.txt",
      "mimeType": "text/plain",
      "text": "Hallo Welt"
    }
  ]
}
Langdock speichert das als Anhang und gibt Datei-Zugriffsmetadaten mit dem Ergebnis zurück:
{
  "files": {
    "successful_files": [
      {
        "fileName": "beispiel.txt",
        "mimeType": "text/plain",
        "status": "completed",
        "access_methods": {
          "document_search": false,
          "file_input_actions": true,
          "download_available": true
        }
      }
    ]
  }
}

Verwandte Dokumentation