Plugin Moodle · Model Context Protocol

Votre Moodle parle maintenant à l'IA.

Moodle MCP transforme n'importe quelle instance Moodle en serveur MCP sécurisé. Les assistants IA peuvent consulter et opérer cours, notes et activités en langage naturel — self-hosted, avec connexion OAuth 2.1, permissions par rôle et piste d'audit complète.

claude · moodle-mcp@campus.fr
Combien d'étudiants ont rendu le projet final dans le cours de Gestion de Projet ? → connecté via OAuth 2.1 · portée : api.read → recherche de la fonction via list_moodle_functions → call_moodle_function · mod_assign_get_submissions ✓ 1 243 des 6 077 inscrits ont rendu · 89 en brouillon ✓ enregistré dans le journal d'audit par prof.martin@campus.fr
Assistant IA Moodle MCP Votre instance Moodle
Conçu pour les équipes IT de l'enseignement
Self-hosted OAuth 2.1 · permissions par rôle Journal d'audit Protocole ouvert
Fonctionnement

De l'installation au premier ordre en quatre étapes.

Pas d'intégrations fragiles ni d'export de données vers des clouds tiers. MCP tourne à l'intérieur de votre Moodle.

01

Installer le plugin

Téléversez le paquet depuis l'administration Moodle, comme n'importe quel plugin. Aucun serveur externe.

02

Choisir le mode

Lecture seule ou lecture + écriture. Définissez quels rôles peuvent connecter une IA via les capabilities natives Moodle.

03

Connecter l'assistant

Pointez le client sur l'URL du serveur MCP. L'utilisateur se connecte à son propre Moodle via OAuth 2.1 et autorise les portées. Fonctionne avec Claude, ChatGPT et tout client MCP.

04

Converser avec Moodle

Les commandes en langage naturel deviennent des actions réelles, chaque opération étant consignée dans le journal d'audit.

Fonctionnalités

Contrôle de niveau institutionnel dès le premier jour.

Conçu pour les administrateurs Moodle : gouvernance, conformité et zéro dépendance fournisseur.

100 % self-hosted

Le serveur MCP tourne sur votre propre instance. Pas de phone-home : aucune donnée étudiant ne transite vers les services du fournisseur.

Permissions à deux niveaux

Portées par connexion en plus des capabilities natives Moodle. L'IA agit en tant que l'utilisateur ayant autorisé — elle ne peut jamais faire plus que lui.

Piste d'audit complète

15 champs par opération : fonction appelée, IP client, durée, code d'erreur et clés d'arguments. Export CSV pour RGPD. L'API Events de Moodle alimente automatiquement tout log store externe (Splunk, ELK).

Protocole ouvert

Basé sur le Model Context Protocol avec OAuth 2.1 standard. Compatible avec tout client MCP, sans lock-in fournisseur.

API Moodle complète

Accès à n'importe quelle fonction de web service Moodle : des centaines d'opérations, toujours dans les limites des permissions de l'utilisateur.

Contrôles granulaires par connexion

Allowlist IP, allowlist de fonctions avec wildcards et restriction par cours — configurables par token. Limite de débit par minute. Chaque connexion dispose exactement du minimum d'accès nécessaire.

Cas d'usage

Un plugin, trois profils d'utilisateurs servis.

Crée un forum de discussion et 3 devoirs à partir de ce plan de cours
L'IA crée la structure dans le bon cours comme brouillon, prête à être révisée et publiée.
Combien d'étudiants ont rendu le devoir final ?
Compte les rendus, brouillons et corrigés directement depuis l'activité, sans ouvrir le tableau de bord.
Résume les posts du forum de cette semaine en 5 thèmes
Lecture sous portée restreinte, sans exposer de données personnelles au-delà du nécessaire.
Quels étudiants risquent de ne pas valider ?
Croise notes, rendus et accès pour signaler qui a besoin d'attention.
Je n'ai pas compris le cours 6, explique-le autrement
Un tuteur qui connaît le contenu du cours, sans inventer de contenu extérieur.
Qu'est-ce que je dois encore rendre ce mois-ci ?
Liste les tâches en attente et les délais depuis le calendrier de l'étudiant.
Génère un quiz de révision sur le module 3
Génère des questions pratiques à partir du contenu déjà publié dans le cours.
Comment ai-je performé jusqu'ici ?
Accès restreint aux propres données, jamais à celles des camarades.
Génère le rapport d'engagement par cours pour ce semestre
Requête agrégée en langage naturel, sans construire de rapports manuellement.
Quels cours n'ont eu aucune activité depuis plus de 30 jours ?
Nettoyage de la plateforme et identification des cours abandonnés en quelques secondes.
Inscris ce groupe de 60 étudiants dans le cours d'intégration
Opération par lot via l'API Moodle, sous portée écriture explicite, entièrement auditée.
Montre toutes les actions de l'IA de la semaine passée
Piste d'audit complète, exportable en CSV pour la conformité.
En action

L'IA demande ; vous contrôlez ce qu'elle peut toucher.

Choisissez une demande et activez ou désactivez les portées. L'assistant répond selon ce que vous avez autorisé pour cette connexion.

moodle-mcp · connexion OAuth connecté

Portées de cette connexion

api.readDécouvrir et appeler les fonctions Moodle en lecture seule
api.writeAppeler n'importe quelle fonction, y compris en écriture
Sécurité & conformité

L'IA rejoint la conversation. Vos données restent chez vous.

Souveraineté des données

Tout est traité dans votre infrastructure. Conforme au RGPD par conception.

Connexion OAuth 2.1, sans secrets partagés

Celui qui se connecte s'authentifie sur son propre Moodle et autorise explicitement des portées. Connexions avec expiration et rotation, révocables à tout moment. Seuls les utilisateurs avec la permission de connexion peuvent autoriser.

Piste d'audit

Enregistrement complet de chaque opération — autorisée, refusée ou en erreur — exportable en CSV pour les équipes sécurité et conformité.

Restrictions granulaires par token

Allowlist IP par CIDR, allowlist de fonctions avec wildcards et restriction par cours — configurables par token. Limite de débit par minute pour stopper les agents incontrôlés.

Webhook de sécurité + événements natifs

Les échecs d'authentification, les accès refusés et les dépassements de limite de débit déclenchent un webhook asynchrone. L'API Events de Moodle alimente Splunk, ELK ou tout SIEM sans configuration supplémentaire.

Journal d'audit · en direct

14:02prof.martin a appelé call_moodle_function · core_course_get_contents
14:02prof.martin a appelé call_moodle_function · mod_assign_get_submissions
13:47coord.edu a listé list_moodle_functions · api.read
13:31admin.it a révoqué connexion OAuth · Claude Desktop
11:15prof.dupont refusé api.write · mode lecture seule
10:44185.21.x.x bloqué IP absente de l'allowlist
09:12bot-anon bloqué limite de débit · 60 req/min
Moodle MCP vs. l'alternative gratuite

Il existe une version gratuite — voici pourquoi elle ne suffit pas pour votre établissement.

Il existe un plugin open source (webservice_mcp) qui connecte également Moodle à MCP. Il est utile pour explorer le protocole. Pour un établissement qui a besoin de gouvernance, RGPD et sécurité, voici ce qui fait la différence.

Fonctionnalités
Moodle MCP v1.0.0 Stable
webservice_mcp (gratuit)
Authentification
OAuth 2.1 + PKCE, zéro config
wstoken exposé dans l'URL
Séparation lecture / écriture
Par appel, automatique selon le type de fonction
Aucune — tout ou rien
Allowlist IP par connexion
CIDRs par token
Allowlist de fonctions par token
Modèles avec wildcard (core_completion_*)
Restriction par cours
Liste d'IDs de cours par connexion
Limite de débit (req/min)
Configurable par token
Journal d'audit dédié
15 champs, CSV, IP client, durée
Log générique Moodle
Intégration SIEM / log store
Moodle Events API → Splunk, ELK sans config
Webhook de sécurité
POST async sur échecs d'auth et rate limits
Privacy API / RGPD
Complète — export & suppression par utilisateur
Null provider
UI de gestion des tokens
Panneau admin avec usage, restrictions, révocation
Manuel via base de données
Compatibilité Claude.ai
Testé et vérifié
Bug ouvert (issue #2)
Langues
5 — en, pt-BR, es, fr, de
1 — en
Maturité
v1.0.0 Stable
v0.4.1 Bêta
Support
E-mail (base) + 12 mois support actif (intégration)
Issues GitHub
Voir les plans et tarifs

Licence unique, pas d'abonnement obligatoire.

Tarifs

Licence unique. Pas d'abonnement obligatoire.

Vous payez une fois et le plugin vous appartient. La première année de mises à jour et de support est incluse.

Licence
Achetez le plugin et installez-le vous-même. Pour les équipes IT qui gèrent en autonomie.
€189 paiement unique
  • Licence perpétuelle, toutes les fonctionnalités
  • Accès complet à l'API Moodle
  • OAuth 2.1, permissions & piste d'audit
  • Documentation & guide d'installation
  • Support par e-mail pour questions & bugs
  • Aide à l'installation & intégration
Acheter une licence
Prix affiché en BRL. Le montant dans votre devise sera calculé au moment du paiement.

La licence est perpétuelle dans les deux plans : le plugin vous appartient pour toujours. Dans le plan intégration, les 12 mois de support actif sont renouvelables à la fin de la période. Sans renouvellement, le plugin continue de fonctionner normalement.

Un Moodle par licence : chaque clé s'active sur un seul serveur Moodle. Pour la déplacer vers un autre serveur, contactez-nous.

Questions fréquentes

Ce que l'IT demande toujours.

Oui, webservice_mcp est open source et offre une connectivité basique. La différence tient à ce qui manque : authentification via wstoken exposé dans l'URL (contre OAuth 2.1 + PKCE), pas de séparation automatique lecture/écriture, pas d'allowlist IP ou de fonctions, pas de restriction par cours, pas de limite de débit, pas de journal d'audit dédié, pas de webhook de sécurité et un bug connu d'incompatibilité avec Claude.ai. Pour un usage personnel ou l'exploration du protocole, la version gratuite fonctionne. Pour un établissement ayant besoin de gouvernance, RGPD, auditabilité et contrôle granulaire, la différence est substantielle. Voir la comparaison complète →

Le Model Context Protocol (MCP) est un protocole ouvert qui permet aux assistants IA de se connecter de façon standardisée à des outils et sources de données. Moodle MCP implémente ce protocole au sein de votre Moodle, exposant des actions contrôlées que tout client compatible peut utiliser.

Via OAuth 2.1 : lors de la connexion, la personne se connecte à son propre Moodle et autorise explicitement des portées. Aucun mot de passe ni token n'est partagé avec l'assistant. Seuls les utilisateurs avec la permission de connexion peuvent autoriser. Les connexions expirent, tournent et sont révocables à tout moment.

Le serveur MCP tourne dans votre infrastructure sans phone-home. Seules les données demandées par l'assistant et autorisées par la portée sont envoyées au client IA que vous avez choisi. Vous choisissez le fournisseur, y compris des modèles self-hosted.

Moodle 4.1 LTS ou supérieur. Le plugin s'installe via l'administration comme tout autre plugin Moodle, sans dépendances externes.

Seulement si vous activez le mode lecture + écriture et que l'utilisateur autorise la portée écriture. Par défaut le plugin n'expose aucune action d'écriture. Dans tous les cas l'IA agit en tant que l'utilisateur connecté : elle ne dépasse jamais ses permissions natives Moodle, et tout est consigné dans la piste d'audit.

Oui. Vous payez une fois et utilisez le plugin indéfiniment. La première année de mises à jour et de support est incluse ; le renouvellement annuel est optionnel.

Oui. Nous émettons des factures et supportons les processus d'achat des établissements publics et privés. Contactez notre équipe pour des offres groupées, plusieurs instances ou des conditions spéciales.

Donnez à votre Moodle une interface IA, sans abandonner le contrôle.

Licence unique, self-hosted et conforme RGPD. Commencez en mode lecture seule aujourd'hui.