Naar hoofdinhoud
Documentatie

Bestanden uploaden

Bestanden reizen via een URL, niet via de chat

Assistenten kunnen de inhoud van een bestand niet door een gesprek sturen. De argumenten van MCP-tools zijn JSON die het model zelf schrijft, dus een binair bestand zou base64-gecodeerd als gegenereerde tekst moeten reizen: onmogelijk voorbij een paar tientallen kilobytes, en clients als Claude Desktop hangen de bestanden uit het gesprek sowieso nooit aan tool-aanroepen.

Daarom bereiken bestanden Moodle via een URL: je geeft de assistent een publieke HTTPS-link en je eigen Moodle-server downloadt het bestand rechtstreeks (tot 512 MiB, met Moodles SSRF-bescherming). Het bestand gaat nooit door de chat.

Een bestand aan een cursus toevoegen

  • local_mcpconnector_create_resource: voegt elk bestand (pdf, docx, afbeelding, video…) als Bestand-bron toe aan een cursus.
  • local_mcpconnector_create_scorm: maakt een SCORM-activiteit van een pakket-zip.

Beide tools zitten sinds versie 1.0 in de plug-in.

Vraag het in gewone taal — "voeg deze pdf als bron toe aan de cursus Biologie: https://…" — en de assistent kiest de juiste tool.

De link moet het bestand zelf teruggeven, niet een webpagina eromheen:

BronWat te gebruiken
Google Drivehttps://drive.google.com/uc?export=download&id=BESTANDS_ID; de gewone deellink geeft een pagina terug, en heel grote bestanden tonen een bevestiging die de server niet kan aanklikken
DropboxVoeg ?dl=1 toe aan de deellink
GitHubGebruik de URL van raw.githubusercontent.com

Elke HTTPS-URL die je Moodle kan bereiken werkt, ook je eigen webserver.

Bestanden op de machine van de assistent

Staat het bestand waar de assistent draait — een net gebouwd SCORM-pakket, een gegenereerde pdf — dan is er geen publieke URL om te geven. Gebruik moodle_request_file_upload:

  1. De tool geeft een tijdelijke upload-URL terug.
  2. De assistent uploadt het bestand met het curl-commando dat hij terugkrijgt.
  3. Hij geeft de verkregen fileUrl door aan create_resource of create_scorm.

Beide URL's verlopen en het bestand wordt na 30 minuten verwijderd. Het is een transportkanaal, geen opslag: bewaar er niets in.

Problemen bij het uploaden

  • "Kon het bestand niet downloaden": de URL geeft HTML terug in plaats van het bestand, of is niet publiek bereikbaar. Test hem met curl -IL url van buiten je netwerk.
  • De tool is niet beschikbaar: je plug-in is verouderd. Werk hem bij in Moodle.
  • De assistent zegt geen bestanden te kunnen uploaden: hij heeft de tool niet gevonden. Vraag hem zijn Moodle-tools op "upload" te doorzoeken; dat helpt meestal.