format: "file" deklariert, fängt Langdock die Dateireferenz des LLM automatisch ab und löst sie in ein strukturiertes FileData-Objekt auf – bevor der MCP-Server den Aufruf überhaupt erhält.
Funktionsweise in Langdock
Wenn ein User eine Datei im Chat anhängt und das LLM darauf verweist (als Dateiname wiereport.pdf, als Speicherpfad wie attachment/<uuid>/<filename> oder /mnt/data/<filename>), fängt Langdock diese Referenz ab und löst sie in ein vollständiges FileData-Objekt auf – bevor es an dein MCP-Tool weitergegeben wird.
Die FileData-Struktur
Dein MCP-Tool erhält folgendes Objekt:Der .meta({ format: "file" })-Marker
Das entscheidende Signal für Langdock ist das Hinzufügen von .meta({ format: "file" }) zu deinem Zod-Schema-Feld. Beim Speichern der MCP-Integration erkennt Langdock format: "file" im JSON-Schema und speichert das Feld als FILE-Typ. Bei der Ausführung löst Langdock die Dateireferenz in ein vollständiges FileData-Objekt auf und übergibt es an deinen MCP-Server.
Datei-Input in deinem MCP-Server implementieren
Deklariere das Input-Feld als Zod-Objekt, das derFileData-Struktur entspricht. Verwende nicht z.string() – das MCP-SDK validiert Inputs vor dem Aufruf des Handlers, daher muss das Schema mit dem übereinstimmen, was es tatsächlich erhält:
Beispiel-Input und -Output
Wenn Langdock dein Tool aufruft, sendet es ein vollständig aufgelöstesFileData-Objekt:
Beispielprojekt
Das Repository langdock_mcp_file_upload ist ein minimaler, funktionierender MCP-Server, der den vollständigen Datei-Input-Flow demonstriert – von der Schema-Deklaration bis zur Verarbeitung des aufgelöstenFileData im Tool-Handler.
Verwandte Dokumentation
- Langdock Cookbook - Ausführbare MCP-Rezepte, unter anderem zu Datei-Uploads
- MCP-Datei-Outputs - Dateien aus MCP-Servern an Langdock zurückgeben
- Model Context Protocol (MCP) - Übersicht über MCP in Langdock
- Langdock Agent MCP Server - Deine Langdock-Agenten als MCP-Tools bereitstellen
FAQ
Wann sollte ein MCP-Tool Datei-Input akzeptieren?
Wann sollte ein MCP-Tool Datei-Input akzeptieren?
Nutze Datei-Input, wenn das externe MCP-Tool eine Datei untersuchen oder verarbeiten muss, auf die der User in Langdock verweist. Das ist nützlich für Tools, die Dateien parsen, umwandeln, validieren oder in ein anderes System hochladen.
Was sollte ich prüfen, wenn eine Datei nicht an ein MCP-Tool übergeben wird?
Was sollte ich prüfen, wenn eine Datei nicht an ein MCP-Tool übergeben wird?
Prüfe, ob das MCP-Tool ein Datei-Input-Feld deklariert, der User auf eine verfügbare Datei verwiesen hat, das Tool den Dateityp unterstützt und das Tool mit dem Datenformat umgehen kann, das Langdock sendet.