EduBase

officiel

Interagissez avec EduBase, une plateforme d'apprentissage en ligne complète dotée de fonctionnalités avancées de quiz, de gestion d'examens et d'organisation de contenu.

Que pouvez-vous faire avec EduBase MCP ?

  • Créer et publier des questions — Demandez à l’assistant de rédiger une nouvelle question et de la publier dans votre QuestionBase via edubase_prompt_create_question.
  • Transformer des documents en questions — Convertissez un document joint, un chemin de fichier ou une URL en questions après avoir approuvé le plan, et ajoutez-les éventuellement à un ensemble Quiz.
  • Créer des examens à partir d’un sujet — Générez des questions sur un sujet, regroupez-les dans un ensemble Quiz et créez un examen planifié avec edubase_prompt_create_exam.
  • Résumer les résultats d’un examen — Analysez les résultats d’un examen et enregistrez éventuellement le résumé dans l’examen avec edubase_prompt_summarize_exam_results.
  • Affecter des classes à des examens — Affectez les membres actifs d’une classe à un examen à l’aide de edubase_prompt_assign_class_to_exam.
  • Vérifier la progression du parcours d’examen — Consultez la progression des utilisateurs dans un parcours d’examen et identifiez ceux qui sont bloqués via edubase_prompt_exam_journey_status.

Documentation

EduBase logo

Serveur MCP EduBase

pre-commit.ci status Publish

Ce dépôt contient l’implémentation du Model Context Protocol (MCP), le serveur de la plateforme EduBase. Il permet aux clients MCP (par exemple Claude Desktop) et aux LLM d’interagir avec votre compte EduBase et d’effectuer des tâches en votre nom. Il prend en charge les protocoles de transport stdio, SSE et HTTP en continu.

EduBase MCP demo GIF: Claude uploads math questions

Qu’est-ce qu’EduBase ?

EduBase est une plateforme éducative en ligne innovante et modulaire qui rend l’apprentissage plus agréable, plus simple et interactif, et qui convient aux établissements d’enseignement comme aux entreprises.

Pourquoi choisir EduBase ?

EduBase révolutionne l’apprentissage numérique grâce à sa combinaison unique de fonctionnalités :

  • Système avancé de quiz avec paramétrage permettant de créer une infinité de variantes d’une même question, détection de la triche en temps réel, magnifique rendu LaTeX, prise en charge avancée des STEM et correction automatique
  • Environnement d’apprentissage unifié qui centralise tous vos contenus pédagogiques — vidéos, examens, documents et modules SCORM — dans un système intuitif unique
  • Sécurité de niveau entreprise avec des fonctionnalités telles que l’intégration SSO, des contrôles d’accès précis, un audit complet et la conformité au RGPD
  • Intégration à vos systèmes existants grâce à LTI, à une API complète et à des options d’intégration personnalisées
  • Outils assistés par l’IA, tels qu’EduBase Assistant, qui peuvent transformer instantanément vos contenus existants en quiz et évaluations interactifs, ou traduire vos supports d’une langue à une autre

Des établissements d’enseignement supérieur aux services de formation en entreprise, EduBase s’adapte à vos besoins spécifiques tout en offrant une expérience utilisateur intuitive sur tous les appareils.

Vidéo de démonstration

Création collaborative et téléversement de questions, planification d’examens et analyse des résultats des utilisateurs avec Claude :

Demonstrating EduBase's MCP server to collaboratively create and upload questions, schedule exams and analyze results.

Obtenir vos identifiants API

Une fois connecté, dans votre tableau de bord, recherchez le menu Integrations, cliquez sur « add integration » et choisissez le type « EduBase API ».

Si cette option ne s’affiche pas, saisissez le code d’activation MCPGITHUB ou contactez-nous pour demander l’accès à info@edubase.net.

EduBase API credentials page

Outils

Chaque point de terminaison d’API documenté est disponible sous forme d’outil, nommé edubase_<method>_<endpoint>. Par exemple, l’outil correspondant au point de terminaison GET /user:me est nommé edubase_get_user_me. Les points de terminaison des balises, des autorisations et des transferts fonctionnent de la même manière pour chaque type de contenu ; ils partagent donc un seul outil par méthode, avec un argument type (par exemple edubase_post_content_tag pour POST /exam:tag, POST /quiz:tag, etc.). Consultez notre documentation pour les développeurs pour en savoir plus.

Ensembles d’outils

Les outils sont regroupés en ensembles afin que vous puissiez exposer uniquement ceux dont vous avez besoin. Un nombre réduit d’outils utilise moins de contexte du modèle et lui permet de choisir plus facilement le bon outil. Tous les ensembles d’outils sont activés par défaut.

Ensemble d’outilsOutils pour
filesTéléversements temporaires de fichiers (toujours activé)
questionsQuestions
quizzesEnsembles de quiz, leurs questions, paramètres et préréglages de notation
examsExamens, leurs paramètres, utilisateurs, certificats, identité visuelle et parcours
resultsRésultats des quiz et des examens, téléchargements de certificats
usersUtilisateurs, leurs noms, groupes et liens de connexion
classesClasses et inscriptions aux classes
organizationsOrganisations, membres, services, fonctions, compétences et webhooks
integrationsIntégrations et leurs clés
tagsBalises et associations de balises aux contenus
permissionsAutorisations des utilisateurs sur les contenus et transferts de propriété
metricsMétriques personnalisées

Sélectionnez les ensembles d’outils à l’aide d’une liste séparée par des virgules dans EDUBASE_TOOLSETS (par exemple questions,quizzes,exams). Définissez EDUBASE_READONLY=true pour n’exposer que les outils qui lisent des données (les outils get et ceux qui génèrent uniquement des liens de téléchargement, comme edubase_post_question_export).

Définissez EDUBASE_DYNAMIC_TOOLSETS=true pour activer les ensembles d’outils à la demande : les sessions démarrent avec uniquement les outils essentiels, et le modèle active les ensembles dont il a besoin à l’aide de l’outil edubase_enable_toolsets (répertorié avec edubase_list_toolsets). Cela permet de garder la liste initiale d’outils réduite pour les clients qui chargent tous les outils d’emblée, mais nécessite un client qui actualise la liste des outils lorsqu’il est averti de changements.

Lorsqu’un transport HTTP est utilisé, les clients peuvent affiner davantage la configuration pour leur propre session à l’aide des en-têtes EduBase-Mcp-Toolsets, EduBase-Mcp-ReadOnly et EduBase-Mcp-Dynamic, ou des paramètres de requête toolsets, read_only et dynamic_toolsets (par exemple https://domain.edubase.net/mcp?toolsets=exams&read_only=true). Une session ne peut jamais activer des ensembles d’outils ou des outils d’écriture désactivés par la configuration du serveur.

Prompts

Les prompts sont des flux de travail prêts à l’emploi que vous pouvez lancer depuis votre client MCP (par exemple depuis le menu + ou /). Les clients prenant en charge les complétions suggèrent des valeurs pour les arguments au fur et à mesure de la saisie : types de questions, ainsi que vos propres examens, ensembles de quiz et classes.

PromptFonctionArguments
Créer une question (edubase_prompt_create_question)Rédige une nouvelle question et la publie dans votre QuestionBasetype, subject, difficulty et language facultatifs
Créer des questions à partir d’un document (edubase_prompt_questions_from_document)Transforme un document joint (ou un chemin de fichier ou une URL) en questions, après approbation du plan, et peut les ajouter à un ensemble de quizdocument, questions facultatif (nombre), types, quiz et language
Créer un examen (edubase_prompt_create_exam)Génère des questions sur un sujet, les regroupe dans un nouvel ensemble de quiz et crée un examen à partir de celui-citopic, questions (nombre), types facultatif (séparés par des virgules), language et schedule
Créer un examen avec un parcours (edubase_prompt_create_exam_journey)Crée un examen comme ci-dessus, puis élabore et publie un petit parcours d’examen à partir de celui-ci, en réutilisant les examens associés de votre compte et en créant un ensemble de quiz d’entraînement et un examen de suivi si nécessaireles mêmes arguments que pour Créer un examen
Copier un examen (edubase_prompt_copy_exam)Crée un nouvel examen à partir du même ensemble de quiz et des mêmes paramètres, pour une nouvelle périodeexam, schedule, title facultatif
Affecter une classe à un examen (edubase_prompt_assign_class_to_exam)Affecte les membres actifs d’une classe à un examenexam, class
Résumer les résultats d’un examen (edubase_prompt_summarize_exam_results)Analyse les résultats d’un examen et peut enregistrer le résumé dans l’examenexam, focus et save facultatifs (ask, yes ou no)
Vérifier un parcours d’examen (edubase_prompt_exam_journey_status)Affiche la progression des utilisateurs dans un parcours d’examen et indique qui est bloquéexam

Les prompts ne sont proposés que lorsque leurs ensembles d’outils sont activés ; en mode lecture seule, seuls les deux derniers sont proposés.

Lorsque les types de questions d’un examen ne sont pas renseignés, les clients prenant en charge la sollicitation de saisie les demandent à l’aide de cases à cocher. Ces clients vous demandent également de confirmer les modifications irréversibles (suppression d’examens, d’ensembles de quiz, de questions, d’utilisateurs, d’organisations et d’intégrations, transfert de propriété, lancement d’une nouvelle session d’examen et rotation des clés d’intégration) avant de les appliquer. Définissez EDUBASE_ELICITATION=false pour désactiver ces demandes de confirmation.

Ressources

Des documents de référence sont disponibles sous forme de ressources, ainsi que par l’intermédiaire de l’outil edubase_mcp_reference pour les modèles qui ne peuvent pas lire les ressources : edubase://reference/questions (champs et types de questions) et edubase://reference/exam-journeys (format portable des parcours d’examen). Ils couvrent les sujets expliqués par les compétences EduBase, pour les clients qui ne disposent pas de ces compétences. Les examens et les ensembles de quiz peuvent également être joints en tant que ressources (edubase://exam/{exam} et edubase://quiz/{quiz}), avec vos contenus répertoriés et suggérés. Désactivez-les avec EDUBASE_CONTENT_RESOURCES=false, ou pour une session avec l’en-tête EduBase-Mcp-Content-Resources: false, le paramètre de requête content_resources=false ou le paramètre Smithery edubaseContentResources.

Les outils qui créent ou modifient des examens, des ensembles de quiz et des parcours renvoient vers leurs pages dans EduBase.

Configuration

Le serveur MCP peut être configuré à l’aide de variables d’environnement. Les variables suivantes sont disponibles :

VariableDescriptionObligatoireValeur par défaut
EDUBASE_API_URLURL de base de l’API EduBase, probablement https://subdomain.edubase.net/api.Ouihttps://www.edubase.net/api
EDUBASE_API_APPID d’application de votre application d’intégration sur EduBase, le app sur l’API EduBase. Vous le trouverez dans la fenêtre des détails de l’intégration sur EduBase.Non si le transport HTTP est utilisé avec authentification, sinon oui-
EDUBASE_API_KEYClé secrète de votre application d’intégration sur EduBase, le secret sur l’API EduBase. Vous la trouverez à côté de l’ID d’application dans la fenêtre des détails de l’intégration sur EduBase.Non si le transport HTTP est utilisé avec authentification, sinon oui-
EDUBASE_SSE_MODEDémarrer le serveur MCP en mode HTTP avec le transport SSE. La valeur doit être true.Nonfalse
EDUBASE_STREAMABLE_HTTP_MODEDémarrer le serveur MCP en mode HTTP avec le transport HTTP diffusible. La valeur doit être true.Nonfalse
EDUBASE_TOOLSETSListe, séparée par des virgules, des ensembles d’outils activés, ou all.Nonall
EDUBASE_READONLYN’exposer que les outils qui lisent des données. La valeur doit être true.Nonfalse
EDUBASE_OUTPUT_SCHEMASSchémas de sortie des outils et résultats structurés des outils : off répertorie les outils sans schéma de sortie et renvoie les résultats uniquement sous forme de texte JSON, on inclut les schémas de sortie complets, fields inclut les schémas de sortie sans les descriptions des champs (tout en conservant les résultats structurés, mais en économisant la plupart des jetons des schémas).Nonfields
EDUBASE_CONFIG_PROVIDERSListe, séparée par des virgules, des fournisseurs d’hébergement autorisés à fournir la configuration de session dans les requêtes lorsqu’un transport HTTP est utilisé. Actuellement, seul smithery est pris en charge (le paramètre de requête config encodé en base64).Non-
EDUBASE_CONTENT_RESOURCESRépertorier les examens et les ensembles de quiz du compte en tant que ressources. Définir sur false pour les désactiver, par exemple lorsque le serveur est inspecté sans identifiants. Les documents de référence restent disponibles.Nontrue
EDUBASE_DYNAMIC_TOOLSETSDémarrer les sessions avec uniquement les outils de téléversement de fichiers et laisser le modèle activer les ensembles d’outils à la demande. La valeur doit être true.Nonfalse
EDUBASE_ELICITATIONDemander à l’utilisateur, via le client, de confirmer les modifications irréversibles et de choisir les types de questions des invites, si le client prend en charge la sollicitation. Définir sur false pour désactiver cette option.Nontrue
EDUBASE_HTTP_PORTLe serveur HTTP écoutera sur ce port si le mode de transport SSE ou HTTP diffusible est utilisé.Non3000
EDUBASE_OAUTHActive le comportement de ressource protégée OAuth 2.1 : les requêtes non authentifiées sont rejetées avec 401 + WWW-Authenticate pointant vers /.well-known/oauth-protected-resource/mcp, et les jetons porteurs sont transmis à l’API EduBase.Nonfalse
EDUBASE_OAUTH_AUTHORIZATION_SERVERURL de base publique du déploiement EduBase faisant office d’IdP OAuth. Utilisée pour annoncer le serveur d’autorisation dans le document de métadonnées de la ressource protégée.Nondérivée de EDUBASE_API_URL
EDUBASE_OAUTH_RESOURCE_URLURL de base publique de ce serveur MCP (l’indicateur de ressource OAuth). Utilisée dans l’en-tête WWW-Authenticate et les métadonnées de la ressource.Nondérivée de EDUBASE_API_URL
EDUBASE_ALLOW_PRIVATE_NETWORKLorsqu’un transport HTTP est utilisé, l’outil edubase_filebin bloque les requêtes sortantes vers les adresses privées, de bouclage, de liaison locale et réservées (protection contre les SSRF) et refuse les chemins de fichiers locaux. Définir sur true pour les autoriser, par exemple pour un déploiement auto-hébergé sur un réseau privé de confiance. Sans effet en mode stdio, où l’utilisateur local est le seul appelant.Nonfalse
EDUBASE_FILEBIN_ALLOWED_HOSTSListe d’autorisation facultative, séparée par des virgules, des noms d’hôte autorisés comme cibles de téléversement edubase_filebin (hôte exact ou tout sous-domaine, par exemple edubase.net). Si elle est vide, tout hôte public est autorisé (sous réserve du filtrage des adresses ci-dessus).Non-

Utilisation comme serveur MCP distant

Vous pouvez utiliser le serveur MCP EduBase comme serveur MCP distant avec votre client MCP. Pour cela, vous devez héberger le serveur à un emplacement accessible aux clients, puis configurer le client pour qu’il s’y connecte. Démarrez-le en mode de transport SSE ou HTTP diffusible et utilisez toujours HTTPS pour accéder au serveur à distance sur Internet !

Authentification avec les serveurs distants

Vous pouvez utiliser le serveur selon deux modes :

  • Sans authentification du client : dans ce mode, le serveur n’exige aucune authentification du client. Cette option est utile à des fins de test ou de développement, ou sur un réseau fermé, mais elle n’est pas recommandée en production. Pour cela, vous devez également configurer le serveur avec EDUBASE_API_APP et EDUBASE_API_KEY !
  • Avec authentification par jeton Bearer : dans ce mode, le serveur exige l’envoi d’un jeton Bearer avec chaque requête. C’est la méthode recommandée pour utiliser le serveur en production. Vous pouvez obtenir le jeton Bearer depuis votre compte EduBase en créant une application d’intégration et en fournissant l’ID d’application et la clé secrète au format {app}:{secret}, encodé en base64 sous forme de jeton. Le serveur utilisera alors ce jeton pour authentifier le client et autoriser l’accès aux points de terminaison de l’API.
  • Avec OAuth 2.1 (EduBase comme IdP) : lorsque EDUBASE_OAUTH=true, les clients compatibles (Claude Desktop, connecteurs Claude.ai, Cursor, connecteurs ChatGPT, etc.) découvrent le serveur d’autorisation EduBase via /.well-known/oauth-protected-resource, s’enregistrent dynamiquement (RFC 7591), guident l’utilisateur à travers un écran de consentement EduBase et échangent un code d’autorisation (avec PKCE S256) contre un jeton d’accès opaque. Le serveur MCP transmet ce jeton tel quel à l’API EduBase, qui le résout en une intégration MCP provisionnée automatiquement et créée lors du premier consentement. Aucun ID d’application ni clé secrète à copier : les utilisateurs n’ont qu’à cliquer sur « Connecter EduBase » dans leur client.

Utilisation avec Claude Desktop

Pour suivre les étapes détaillées, consultez notre article de blog expliquant comment connecter EduBase à Claude : le guide complet de l’intégration MCP.

Utilisation du serveur MCP EduBase fourni

Vous pouvez utiliser le serveur MCP EduBase fourni (s’il est disponible) sans aucune configuration, en l’ajoutant simplement comme serveur distant dans votre client avec l’URL https://domain.edubase.net/mcp (à remplacer par le domaine réel), s’il prend en charge l’authentification OAuth, ou avec le jeton Bearer approprié dans l’en-tête Authorization (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).

Recommandé aux utilisateurs de www.edubase.net, car le serveur est maintenu et mis à jour par nos soins, et vous n’avez pas à vous soucier de son hébergement ni de sa configuration. Veillez simplement à utiliser l’URL et la méthode d’authentification appropriées lors de la connexion de votre client.

Installation manuelle

Ajoutez ce qui suit à votre claude_desktop_config.json :

Avec Node.js

Avant de lancer le serveur MCP, assurez-vous que Node.js est installé. Vous pouvez le télécharger depuis nodejs.org ou utiliser un gestionnaire de paquets comme brew.

{
  "mcpServers": {
    "edubase": {
      "command": "npx",
      "args": [
        "-y",
        "@edubase/mcp"
      ],
      "env": {
        "EDUBASE_API_URL": "https://domain.edubase.net/api",
        "EDUBASE_API_APP": "your_integration_app_id",
        "EDUBASE_API_KEY": "your_integration_secret_key"
      }
    }
  }
}

Vous pouvez aussi télécharger une version du serveur MCP EduBase ou cloner le dépôt et exécuter npm run build pour compiler le serveur. N’oubliez pas d’ajuster /path/to/dist au répertoire réel et de configurer les variables d’environnement !

{
  "mcpServers": {
    "edubase": {
      "command": "node",
      "args": [
        "/path/to/dist/index.js"
      ],
      "env": {
        "EDUBASE_API_URL": "https://domain.edubase.net/api",
        "EDUBASE_API_APP": "your_integration_app_id",
        "EDUBASE_API_KEY": "your_integration_secret_key"
      }
    }
  }
}

Avec Docker

Avant de lancer le serveur MCP, assurez-vous que Docker est installé et en cours d’exécution. Vous pouvez le télécharger depuis docker.com ou utiliser un gestionnaire de paquets. N’oubliez pas de configurer les variables d’environnement ! L’image est disponible pour linux/amd64 et linux/arm64 sur Docker Hub sous le nom edubase/mcp, et sur GitHub Packages sous le nom ghcr.io/edubase/mcp.

{
  "mcpServers": {
    "edubase": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "EDUBASE_API_URL",
        "-e",
        "EDUBASE_API_APP",
        "-e",
        "EDUBASE_API_KEY",
        "edubase/mcp"
      ],
      "env": {
        "EDUBASE_API_URL": "https://domain.edubase.net/api",
        "EDUBASE_API_APP": "your_integration_app_id",
        "EDUBASE_API_KEY": "your_integration_secret_key"
      }
    }
  }
}

Installation via un serveur MCP distant

Vous pouvez utiliser le serveur MCP EduBase fourni (s’il est disponible) comme serveur distant. Nous vous recommandons d’encoder en Base64 votre EDUBASE_API_APP et votre EDUBASE_API_KEY, puis de les utiliser comme jeton Bearer dans l’en-tête Authorization (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).

{
  "mcpServers": {
    "edubase": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://domain.edubase.net/mcp",
        "--header",
        "Authorization: Bearer ${EDUBASE_API_APP}:${EDUBASE_API_KEY}"
      ]
    }
  }
}

Installation via Smithery

Pour installer automatiquement le serveur MCP EduBase pour Claude Desktop via Smithery :

npx -y @smithery/cli install @EduBase/MCP --client claude

Développement

Exécutez npm test pour compiler le serveur et vérifier la liste des outils : les limites de taille de la liste d’outils et des instructions du serveur, les descriptions des outils, les modes d’ensembles d’outils, d’outils en lecture seule et d’ensembles d’outils dynamiques, ainsi que la gestion de la configuration du transport HTTP. Lorsque de nouveaux outils dépassent une limite, raccourcissez leurs schémas ou augmentez délibérément la limite dans test/server.test.mjs, car chaque client paie le coût de la liste d’outils à chaque session.

Les documents de référence dans src/references sont générés à partir de la documentation destinée aux développeurs d’EduBase. Régénérez-les avec node scripts/sync-references.mjs <path to the developer documentation repository> lorsque les champs des questions ou le format du parcours d’examen changent.

La fusion d’une demande de tirage portant l’étiquette major, minor ou patch valide la version suivante dans main et lance le workflow Publish, qui publie le paquet sur npm et le MCP Registry, ainsi que l’image de conteneur sur Docker Hub et GitHub Packages, puis étiquette le commit et crée une version GitHub une fois toutes ces opérations réussies. Sans l’une de ces étiquettes, aucune publication n’a lieu. Une version définie manuellement dans la demande de tirage est publiée telle quelle. Le commit, l’étiquette et la version sont créés par une application de publication dédiée, dont les identifiants se trouvent dans l’environnement release. Le workflow Publish exécute d’abord les tests, vérifie l’image compilée avant de la pousser et se connecte à Docker Hub avec OIDC, à l’aide des variables DOCKERHUB_OIDC_CONNECTIONID et DOCKERHUB_OIDC_USERNAME. Il pousse vers GitHub Packages avec le GITHUB_TOKEN du job, car GitHub refuse les jetons d’application GitHub à cet endroit. Lancez-le manuellement avec une version pour réessayer ou reconstruire une publication : tout ce qui est déjà publié sur npm et le MCP Registry est ignoré, et latest ne pointe que vers la publication la plus récente.

Point de synchronisation de la documentation : les outils, les invites et les références ont été synchronisés pour la dernière fois le 2026-11-06 avec la documentation destinée aux développeurs, synchronisée avec la version EduBase 8.6.6 (la demande de tirage de documentation pour 8.6.6), vérifiée par rapport au dépôt EduBase au commit a29c6af51. Pour mettre le serveur à jour, exécutez git log --oneline <commit>..HEAD et git diff <commit>..HEAD -- docs/api/endpoints dans le dépôt de la documentation destinée aux développeurs, à partir du commit de la demande de tirage de documentation pour 8.6.6, mettez à jour les outils concernés dans src/tools (ainsi que leurs invites et guides d’ensembles d’outils), régénérez les documents de référence et déplacez ce marqueur vers les nouveaux commits HEAD. En cas de divergence, le dépôt EduBase fait foi.

Contact

Site Web : www.edubase.net
Documentation destinée aux développeurs : developer.edubase.net
E-mail : info@edubase.net