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.
Een link die werkt
De link moet het bestand zelf teruggeven, niet een webpagina eromheen:
| Bron | Wat te gebruiken |
|---|---|
| Google Drive | https://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 |
| Dropbox | Voeg ?dl=1 toe aan de deellink |
| GitHub | Gebruik 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:
- De tool geeft een tijdelijke upload-URL terug.
- De assistent uploadt het bestand met het curl-commando dat hij terugkrijgt.
- 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.