MoodleMCP 1.0
v1.0.0
Première version stable de MoodleMCP : le panneau, le serveur MCP hébergé et le plugin local_mcpconnector.
Protocole et authentification
- Endpoint MCP par organisation sur son propre sous-domaine, en Streamable HTTP en mode sans état : les identifiants sont vérifiés à chaque requête et une révocation prend effet dès l'appel suivant.
- Deux voies d'authentification : OAuth « Se connecter avec votre
Moodle » (découverte standard et liaison du jeton à la ressource,
RFC 8707) pour ChatGPT et Claude, et clés MCP porteuses (
mcpk_…, seul leur hachage est stocké) pour Cursor, VS Code, Claude Code, les scripts et la CI.
Outils
- 13 outils sélectionnés pour les flux courants et 3 méta-outils de
passerelle (
moodle_find_tools,moodle_tool_schema,moodle_run_tool) donnant accès aux 742 fonctions restantes du catalogue de services web de Moodle. - Chaque appel s'exécute avec le jeton Moodle de l'utilisateur de la clé et passe son contrôle de rôles ; les clés acceptent des restrictions supplémentaires — lecture seule, outils autorisés, cours autorisés et expiration.
- Envoi de fichiers par URL avec
local_mcpconnector_create_resourceetlocal_mcpconnector_create_scorm, plusmoodle_request_file_uploadpour des transferts temporaires signés (30 minutes, jusqu'à 512 Mio).
Plugin local_mcpconnector
- Installation avec clé de licence + secret du panneau ; chaque requête plugin↔panneau est signée en HMAC-SHA256 avec une fenêtre de ±5 minutes.
- Provisionnement des utilisateurs par rôle depuis l'administration de Moodle, avec envoi de la clé par e-mail et révocation centralisée.
- Compatible avec Moodle 4.2 – 5.2.
Panneau
- Chat IA intégré (Anthropic, OpenAI ou Google) avec le même catalogue d'outils, approbation explicite des écritures et décompte par crédits.
- Vue d'utilisation par clé, outil et origine ; le détail des appels est purgé au bout de 90 jours, les agrégats quotidiens sont conservés.
- Panneau et documentation en six langues : espagnol, anglais, français, allemand, néerlandais et portugais.
Sécurité et limites
- Jetons Moodle chiffrés au repos en AES-256-GCM ; connexions vers Moodle épinglées contre le SSRF, avec délai maximal par requête et plafond de taille de réponse en streaming.
- Limites de débit par clé et par IP, et écritures sérialisées par clé via une file d'attente.