EduBase
officielInteragissez 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
Serveur MCP EduBase
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.

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 :
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.
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’outils | Outils pour |
|---|---|
files | Téléversements temporaires de fichiers (toujours activé) |
questions | Questions |
quizzes | Ensembles de quiz, leurs questions, paramètres et préréglages de notation |
exams | Examens, leurs paramètres, utilisateurs, certificats, identité visuelle et parcours |
results | Résultats des quiz et des examens, téléchargements de certificats |
users | Utilisateurs, leurs noms, groupes et liens de connexion |
classes | Classes et inscriptions aux classes |
organizations | Organisations, membres, services, fonctions, compétences et webhooks |
integrations | Intégrations et leurs clés |
tags | Balises et associations de balises aux contenus |
permissions | Autorisations des utilisateurs sur les contenus et transferts de propriété |
metrics | Mé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.
| Prompt | Fonction | Arguments |
|---|---|---|
Créer une question (edubase_prompt_create_question) | Rédige une nouvelle question et la publie dans votre QuestionBase | type, 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 quiz | document, 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-ci | topic, 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écessaire | les 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ériode | exam, schedule, title facultatif |
Affecter une classe à un examen (edubase_prompt_assign_class_to_exam) | Affecte les membres actifs d’une classe à un examen | exam, 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’examen | exam, 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 :
| Variable | Description | Obligatoire | Valeur par défaut |
|---|---|---|---|
EDUBASE_API_URL | URL de base de l’API EduBase, probablement https://subdomain.edubase.net/api. | Oui | https://www.edubase.net/api |
EDUBASE_API_APP | ID 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_KEY | Clé 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_MODE | Démarrer le serveur MCP en mode HTTP avec le transport SSE. La valeur doit être true. | Non | false |
EDUBASE_STREAMABLE_HTTP_MODE | Démarrer le serveur MCP en mode HTTP avec le transport HTTP diffusible. La valeur doit être true. | Non | false |
EDUBASE_TOOLSETS | Liste, séparée par des virgules, des ensembles d’outils activés, ou all. | Non | all |
EDUBASE_READONLY | N’exposer que les outils qui lisent des données. La valeur doit être true. | Non | false |
EDUBASE_OUTPUT_SCHEMAS | Sché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). | Non | fields |
EDUBASE_CONFIG_PROVIDERS | Liste, 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_RESOURCES | Ré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. | Non | true |
EDUBASE_DYNAMIC_TOOLSETS | Dé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. | Non | false |
EDUBASE_ELICITATION | Demander à 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. | Non | true |
EDUBASE_HTTP_PORT | Le serveur HTTP écoutera sur ce port si le mode de transport SSE ou HTTP diffusible est utilisé. | Non | 3000 |
EDUBASE_OAUTH | Active 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. | Non | false |
EDUBASE_OAUTH_AUTHORIZATION_SERVER | URL 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. | Non | dérivée de EDUBASE_API_URL |
EDUBASE_OAUTH_RESOURCE_URL | URL 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. | Non | dérivée de EDUBASE_API_URL |
EDUBASE_ALLOW_PRIVATE_NETWORK | Lorsqu’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. | Non | false |
EDUBASE_FILEBIN_ALLOWED_HOSTS | Liste 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_APPetEDUBASE_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 pour8.6.6), vérifiée par rapport au dépôt EduBase au commita29c6af51. Pour mettre le serveur à jour, exécutezgit log --oneline <commit>..HEADetgit diff <commit>..HEAD -- docs/api/endpointsdans le dépôt de la documentation destinée aux développeurs, à partir du commit de la demande de tirage de documentation pour8.6.6, mettez à jour les outils concernés danssrc/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