Voor de meeste mensen is de beste manier om LMS MCP te gebruiken de koppeling met ChatGPT of Claude: een eenmalige instelling van een paar minuten, en helemaal zonder sleutels. Commandoregelgereedschap en editors komen daarna, voor wie ze nodig heeft.
Welke authenticatiemethode elke client ondersteunt, staat in een assistent verbinden.
Vooraf: de connector-URL
Elke client verbindt met de connector-URL van één Moodle-verbinding:
https://<jouw-organisatie>.slxd.app/mcp/lmsmcp/<verbinding>
Je hoeft hem niet zelf samen te stellen: het paneel toont hem met een kopieerknop op de pagina van de verbinding, onder Organisatie → Moodle, zowel meteen na het aanmaken van de verbinding als op elk moment daarna. Heeft je beheerder je vanuit de plug-in voorzien, dan komt de URL ook per e-mail samen met je sleutel.
Heeft je organisatie meerdere Moodle-sites, stel dan één client per verbinding in — de URL kiest de site.
ChatGPT
ChatGPT verbindt met Aanmelden met je Moodle: er is geen sleutel te kopiëren.
- Open de instellingen van ChatGPT en ga naar het gedeelte connectors.
- Zet in de geavanceerde instellingen de ontwikkelaarsmodus aan als die nog uit staat — die maakt eigen MCP-connectors mogelijk.
- Maak een nieuwe connector en plak de connector-URL van de verbinding.
- Kies in het browservenster dat opent Aanmelden met je Moodle, log in met je eigen Moodle-account en keur goed.
- Zet de connector in een gesprek aan via het toolsmenu en vraag iets over je Moodle.
Eigen connectors vereisen een betaald ChatGPT-abonnement, en de exacte menunamen kunnen per versie licht verschillen.
Claude (claude.ai en Claude Desktop)
Dezelfde stappen gelden voor Claude in de browser (claude.ai) en voor de desktop-app, beide met Aanmelden met je Moodle:
- Open de instellingen van Claude en ga naar Connectors.
- Kies Eigen connector toevoegen en plak de connector-URL van de verbinding.
- Bij het verbinden opent een browservenster: kies Aanmelden met je Moodle, log in op je Moodle en keur goed.
- Controleer in een gesprek of de connector aanstaat in het toolsmenu en vraag iets over je Moodle.
Eigen connectors vereisen een betaald Claude-abonnement. De connector blijft gebonden aan je Moodle-identiteit: om als iemand anders te verbinden, verwijder je de connector en autoriseer je opnieuw.
Claude Code
Met een MCP-sleutel in een Bearer-header:
claude mcp add --transport http moodle \
https://<jouw-organisatie>.slxd.app/mcp/lmsmcp/<verbinding> \
--header "Authorization: Bearer mcpk_..."
Wil je liever geen sleutels beheren, voeg de server dan zonder header toe en authenticeer via OAuth wanneer Claude Code erom vraagt — dat is dezelfde browserflow Aanmelden met je Moodle.
Cursor
In het MCP-configuratiebestand van Cursor — .cursor/mcp.json in het project, of het globale bestand van je gebruiker:
{
"mcpServers": {
"moodle": {
"url": "https://<jouw-organisatie>.slxd.app/mcp/lmsmcp/<verbinding>",
"headers": { "Authorization": "Bearer mcpk_..." }
}
}
}
VS Code
VS Code gebruikt een eigen formaat, in .vscode/mcp.json in het project:
{
"servers": {
"moodle": {
"type": "http",
"url": "https://<jouw-organisatie>.slxd.app/mcp/lmsmcp/<verbinding>",
"headers": { "Authorization": "Bearer mcpk_..." }
}
}
}
Clients die alleen stdio spreken
Overbrug met het standaardpakket mcp-remote:
npx mcp-remote https://<jouw-organisatie>.slxd.app/mcp/lmsmcp/<verbinding> \
--header "Authorization: Bearer mcpk_..."
Scripts en CI
Elke HTTP-client volstaat: stuur de sleutel mee in een Bearer-header over het Streamable HTTP-transport. Maak voor automatisering een aparte sleutel: alleen lezen, beperkt tot de nodige tools en met een vervaldatum. Zie sleutels en rechten.
Bewaar de sleutel in je secret store, nooit in de repository. Lekt een sleutel, trek hem dan in via het paneel; zijn volgende aanroep wordt geweigerd.
Controleren of het werkt
Vraag de assistent iets waarvoor je Moodle nodig is, zoals "voor welke cursussen ben ik ingeschreven?". Zegt hij dat hij geen tools heeft, dan heeft hij vrijwel altijd zijn MCP-configuratie niet herladen: herstart de client of zet de connector uit en weer aan. Andere symptomen staan in probleemoplossing.