MCP
Chamilo 3.0 stelt een MCP-server beschikbaar zodat AI-assistenten en -agents (Claude, ChatGPT-connectors of elke MCP-compatibele client) binnen het platform kunnen handelen namens een geauthenticeerde gebruiker, met de eigen rechten van die gebruiker — er is geen apart serviceaccount of verhoogde toegang.
Wat MCP toevoegt aan Chamilo
MCP (Model Context Protocol) is een open standaard waarmee AI-clients een gedefinieerde set "tools" kunnen aanroepen die door een server worden aangeboden. De MCP-server van Chamilo is bereikbaar via één endpoint, /mcp, en biedt een zorgvuldig samengestelde set tools voor cursusbeheer door docenten, in plaats van het volledige API-oppervlak.
Beschikbare mogelijkheden
Elke aanroep wordt uitgevoerd als de verbonden gebruiker, zodat een tool alleen cursussen ziet en wijzigt die die gebruiker beheert. De huidige set tools:
Current user
Geeft de identiteit en rollen van de geauthenticeerde gebruiker terug
Teacher courses
Lijst de cursussen die de gebruiker als docent beheert
Course overview
Geeft basisinformatie over de cursus en aantallen resources terug
Create course
Maakt een nieuwe cursus aan volgens de cursusaanmaakregels van het platform
Create course assignment
Maakt een concept- of gepubliceerde opdracht aan met een beschrijving en maximale score
Create course test
Maakt een AI-ondersteunde meerkeuzetoets aan op basis van een onderwerpsbeschrijving of een bestaand document
Get course test response status
Rapporteert welke studenten hebben geantwoord, bezig zijn of nog moeten beginnen aan een toets
Get user course test score
Geeft de laatste en beste voltooide scores van een student op een toets terug
Create training satisfaction survey
Maakt een tevredenheidsenquête van zeven vragen aan
Create course learning path
Maakt een leerpad aan op basis van pagina's die de MCP-client aanlevert
List documents
Lijst de documenten in de tool Documenten van een cursus
Read course document
Geeft de HTML-inhoud, titel en metadata van een bewerkbaar document terug
Edit course document
Vervangt de volledige HTML-inhoud van een bestaand bewerkbaar document
Create course document
Maakt een AI-ondersteund HTML-document aan in de hoofdmap van Documenten
Create course illustration
Genereert een AI-illustratie voor een onderwerp en slaat die op als document
Illustrate document paragraph
Voegt een bestaande afbeelding of video in vóór of na een alinea in een document
Find recent course forum activity
Zoekt recente, zichtbare forumberichten die gerelateerd zijn aan een onderwerp
Review course quality
Analyseert leerpaden, documenten, toetsen, opdrachten en enquêtes van een cursus en geeft verbeteraanbevelingen terug
Deze lijst wordt samengesteld door het Chamilo-kernteam en is vanuit het platform niet door gebruikers uitbreidbaar — docenten kunnen geen eigen tools toevoegen.
Hoe gebruikers verbinding maken
Persoonlijke MCP API-sleutel
Elke gebruiker genereert een eigen sleutel onder Sociaal netwerk > MCP API-sleutel:

Door op API-sleutel genereren te klikken wordt een sleutel aangemaakt en eenmaal getoond — Chamilo slaat daarna alleen een gemaskeerde versie op, dus de volledige sleutel moet onmiddellijk worden gekopieerd en veilig worden bewaard.
Het genereren van een nieuwe sleutel trekt de vorige onmiddellijk in.
De pagina toont de status van de sleutel (actief/inactief), het MCP-endpoint om in de client te configureren, en de aanmaak- en laatst-gebruikte datums.
Het paneel Remote MCP-verbinding vermeldt precies wat in de MCP-client moet worden ingevuld: de endpoint-URL en een header
Authorization: Bearer <your MCP API key>.
Zoals de pagina zelf aangeeft, authenticeert de sleutel de client als het account van die gebruiker — ze verleent geen rechten die het account niet al heeft.
OAuth 2.1 (externe clients en connectors)
Voor MCP-clients die OAuth-discovery en dynamische clientregistratie ondersteunen (in plaats van een handmatig geplakte sleutel) fungeert Chamilo ook als OAuth 2.1-autorisatieserver: de client ontdekt de endpoints van Chamilo, registreert zichzelf en leidt de gebruiker om naar /oauth/authorize om toegang goed te keuren. Goedgekeurde toepassingen verschijnen onder Sociaal netwerk > Geautoriseerde toepassingen, waar de gebruiker toepassingen kan intrekken die hij of zij niet meer gebruikt of herkent.
Beveiligingsoverwegingen
Geen privilege-escalatie. Elke MCP-toolaanroep en elke OAuth-geautoriseerde app draait met de eigen Chamilo-rechten van de verbindende gebruiker — een persoonlijke API-sleutel of een geautoriseerde app kan nooit meer doen dan die gebruiker al handmatig zou kunnen.
Alleen Bearer, met rate limiting.
/mcpaccepteert alleen een Bearer-credential — een persoonlijke MCP-API-sleutel, een OAuth-accesstoken of (in ontwikkeling) een JWT. Authenticatiepogingen worden per IP-adres beperkt om het raden van credentials te vertragen.Beperkt publiek oppervlak. Het enige niet-geauthenticeerde verkeer dat
/mcpaccepteert is deOPTIONS-preflight; elke daadwerkelijke aanroep vereistROLE_USER. De OAuth-discovery-, dynamische clientregistratie- en token-eindpunten zijn bewust publiek, zoals vereist door de OAuth 2.1- / MCP-specificaties — dit verleent op zichzelf geen toegang, het laat een client alleen weten hoe de autorisatiestroom te starten.DNS-rebindingbescherming is bewust uitgeschakeld voor
/mcp. De bundle die MCP implementeert beperkt het eindpunt normaal totlocalhost, tenzij een statische lijst van toegestane hostnamen is geconfigureerd — slecht passend bij een Chamilo-portaal met meerdere URL's dat onder veel hostnamen bereikbaar is. Chamilo schakelt die controle uit omdat die hier overbodig is: elke/mcp-aanvraag vereist al een Bearer-credential, ongeacht deHost-/Origin-header, en een DNS-rebindingaanval (die steunt op ambient, cookie-achtige authenticatie die meereist met een vervalste Host) kan geen bearer-token vervalsen die hij nog niet heeft.
De MCP-server configureren
In tegenstelling tot de meeste integraties in deze gids heeft MCP geen instellingenpagina in het beheerpaneel — het wordt op bestandsniveau geconfigureerd, in config/packages/mcp.yaml, en vereist shelltoegang tot de server:
app, version, description
Identiteit die Chamilo rapporteert aan verbindende MCP-clients
client_transports.stdio / client_transports.http
Welke transports actief zijn; Chamilo schakelt beide standaard in
http.path
Het MCP-HTTP-eindpunt (standaard /mcp)
http.allowed_hosts
DNS-rebinding-host-allowlist — ingesteld op false op Chamilo (zie Beveiligingsoverwegingen hierboven)
http.session.store, .directory, .ttl
Waar MCP-sessiestatus wordt bewaard en hoe lang
Om de MCP-server volledig uit te schakelen, stel client_transports.http: false in (en stdio: false als het CLI-transport ook moet worden uitgeschakeld) en wis de cache:
Tips
Behandel een MCP-API-sleutel als een wachtwoord — wie hem heeft, kan als die gebruiker optreden via elke MCP-client.
Moedig gebruikers aan om periodiek Geautoriseerde toepassingen te controleren en alles in te trekken dat ze niet herkennen.
Zie AI-configuratie voor de AI-providers die de hierboven vermelde tools voor contentgeneratie (toetsaanmaak, documentaanmaak, illustraties) ondersteunen.
Laatst bijgewerkt
Was dit nuttig?