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 ?
-
Gérer le contenu pédagogique — Demandez à votre IA de créer, mettre à jour ou récupérer des questions, quiz, examens et leurs paramètres via les ensembles d'outils
questions,quizzesetexams. -
Analyser les résultats et les utilisateurs — Faites en sorte que votre IA récupère les résultats de quiz/examens, les téléchargements de certificats, les détails des utilisateurs et les appartenances aux classes à l'aide des ensembles d'outils
results,usersetclasses. -
Contrôler l'accès aux outils — Configurez les ensembles d'outils exposés via
EDUBASE_TOOLSETS, activez le mode lecture seule avecEDUBASE_READONLY, ou laissez le modèle activer les ensembles d'outils à la demande avecedubase_enable_toolsetsetedubase_list_toolsets. -
Téléverser et gérer des fichiers — Utilisez l'outil
edubase_filebinpour téléverser des fichiers temporaires, avec protection SSRF et liste blanche d'hôtes facultative viaEDUBASE_FILEBIN_ALLOWED_HOSTS. -
Accès à distance sécurisé — Connectez-vous via OAuth 2.1 avec EduBase comme fournisseur d'identité, ou utilisez l'authentification par jeton Bearer avec l'en-tête
Authorizationpour les déploiements en production.
Documentation
Serveur MCP EduBase
Ce dépôt contient l'implémentation du Model Context Protocol (MCP) serveur pour 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 streamable.

Qu'est-ce qu'EduBase ?
EduBase est une plateforme éducative en ligne, innovante, modulaire et interactive, qui rend l'apprentissage plus agréable, plus simple et plus interactif, adaptée aux établissements d'enseignement ou aux entreprises.
Pourquoi choisir EduBase ?
EduBase révolutionne l'apprentissage numérique grâce à sa combinaison unique de fonctionnalités :
- Système de quiz avancé avec paramétrage permettant des variations infinies d'une même question, détection de triche en temps réel, composition LaTeX de haute qualité, support STEM avancé et correction automatique
- Environnement d'apprentissage unifié qui centralise tout votre contenu pédagogique — 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 granulaires, un audit complet et la conformité RGPD
- Intégration avec vos systèmes existants via LTI, une API complète et des options d'intégration personnalisées
- Outils assistés par IA, tels que l'assistant EduBase, qui peuvent instantanément transformer votre contenu existant en quiz et évaluations interactifs, ou traduire vos supports d'une langue à une autre
Des établissements d'enseignement supérieur aux départements de formation en entreprise, EduBase s'adapte à vos besoins spécifiques tout en maintenant une expérience utilisateur intuitive sur tous les appareils.
Vidéo de démonstration
Création et téléversement collaboratifs de questions, planification d'examens et analyse des résultats des utilisateurs avec Claude :
Obtention de vos identifiants API
Une fois connecté, sur votre tableau de bord, recherchez le menu Intégrations, cliquez sur « ajouter une intégration » et choisissez le type « API EduBase ».
Si vous ne voyez pas cette option, 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 en tant qu'outil, nommé edubase_<method>_<endpoint>. Par exemple, l'outil pour le point de terminaison GET /user:me est nommé edubase_get_user_me. Les points de terminaison de balise, de permission et de transfert 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 développeur pour plus d'informations.
Ensembles d'outils
Les outils sont regroupés en ensembles d'outils, afin que vous puissiez n'exposer que les outils dont vous avez besoin. Moins d'outils utilisent moins de contexte du modèle et facilitent le choix du bon outil par le modèle. Chaque ensemble d'outils est activé par défaut.
| Ensemble d'outils | Outils pour |
|---|---|
files | Téléversements de fichiers temporaires (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 et personnalisation |
results | Résultats de quiz et d'examens, téléchargements de certificats |
users | Utilisateurs, leurs noms, groupes et liens de connexion |
classes | Classes et adhésions aux classes |
organizations | Organisations, membres, départements, compétences et webhooks |
integrations | Intégrations et leurs clés |
tags | Balises et pièces jointes de balises des contenus |
permissions | Permissions utilisateur sur les contenus et transferts de propriété |
metrics | Métriques personnalisées |
Sélectionnez les ensembles d'outils avec 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 les données (les outils get, et les outils 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 critiques, et le modèle active les ensembles d'outils dont il a besoin avec l'outil edubase_enable_toolsets (répertorié avec edubase_list_toolsets). Cela maintient la liste initiale d'outils réduite pour les clients qui chargent tous les outils au préalable, mais nécessite un client qui actualise la liste d'outils lorsqu'il est notifié des changements.
Lorsqu'un transport HTTP est utilisé, les clients peuvent affiner davantage la configuration pour leur propre session avec les en-têtes EduBase-Mcp-Toolsets, EduBase-Mcp-ReadOnly et EduBase-Mcp-Dynamic, ou les 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 que la configuration du serveur désactive.
Configuration
Le serveur MCP peut être configuré à l'aide de variables d'environnement. Les variables suivantes sont disponibles :
| Variable | Description | Requise | Valeur par défaut |
|---|---|---|---|
EDUBASE_API_URL | L'URL de base de l'API EduBase, très probablement https://subdomain.edubase.net/api. | Oui | https://www.edubase.net/api |
EDUBASE_API_APP | L'ID d'application de votre application d'intégration sur EduBase, le app sur l'API EduBase. Trouvez-le 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 | La clé secrète de votre application d'intégration sur EduBase, le secret sur l'API EduBase. Trouvez-la avec 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émarre le serveur MCP en mode HTTP avec transport SSE. La valeur doit être true. | Non | false |
EDUBASE_STREAMABLE_HTTP_MODE | Démarre le serveur MCP en mode HTTP avec transport HTTP streamable. 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'expose que les outils qui lisent les données. La valeur doit être true. | Non | false |
EDUBASE_OUTPUT_SCHEMAS | Schémas de sortie des outils et résultats d'outils structurés : off répertorie les outils sans schémas 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 de champs (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_DYNAMIC_TOOLSETS | Démarre les sessions avec uniquement les outils de téléversement de fichiers et laisse le modèle activer les ensembles d'outils à la demande. La valeur doit être true. | Non | false |
EDUBASE_HTTP_PORT | Le serveur HTTP écoutera sur ce port si le mode de transport SSE ou HTTP streamable 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, et les jetons porteurs sont transmis à l'API EduBase. | Non | false |
EDUBASE_OAUTH_AUTHORIZATION_SERVER | URL de base publique du déploiement EduBase agissant comme IdP OAuth. Utilisée pour annoncer le serveur d'autorisation dans le document de métadonnées de 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 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 SSRF) et refuse les chemins de fichiers locaux. Définissez sur true pour les autoriser, par exemple 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 facultative séparée par des virgules de noms d'hôtes autorisés comme cibles de téléversement edubase_filebin (hôte exact ou tout sous-domaine, par exemple edubase.net). Lorsqu'elle est vide, tout hôte public est autorisé (toujours soumis au filtrage d'adresses ci-dessus). | Non | - |
Utilisation comme serveur MCP distant
Vous pouvez utiliser le serveur MCP EduBase comme serveur MCP distant pour votre client MCP. Pour ce faire, vous devez héberger le serveur MCP là où les clients peuvent y accéder, puis configurer le client pour se connecter au serveur. Démarrez-le soit avec le mode de transport SSE ou HTTP streamable et utilisez toujours HTTPS lors de l'accès au serveur à distance sur Internet !
Authentification avec les serveurs distants
Vous pouvez utiliser le serveur dans deux modes :
- Sans authentification du client : Dans ce mode, le serveur n'exigera aucune authentification du client. Ceci est utile pour les tests ou le développement, ou dans un réseau fermé, mais n'est pas recommandé pour une utilisation en production. Pour cela, vous devez configurer le serveur avec
EDUBASE_API_APPetEDUBASE_API_KEYégalement ! - Avec authentification par jeton porteur : Dans ce mode, le serveur exigera qu'un jeton porteur soit envoyé avec chaque requête. C'est la méthode recommandée pour utiliser le serveur en production. Vous pouvez obtenir le jeton porteur 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és en base64 comme jeton. Le serveur utilisera ensuite 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 intégration MCP auto-provisionnée, créée lors du premier consentement. Pas d'ID d'application/clé secrète à copier — les utilisateurs cliquent simplement sur « Connecter EduBase » dans leur client.
Utilisation avec Claude Desktop
Pour un guide pas à pas, consultez notre article de blog sur la façon de connecter EduBase avec Claude : Le guide complet d'intégration MCP.
Utilisation du serveur MCP EduBase fourni
Vous pouvez utiliser le serveur MCP EduBase fourni (s'il est disponible) sans aucune configuration, simplement en l'ajoutant comme serveur distant dans votre client avec l'URL https://domain.edubase.net/mcp (remplacez par le domaine réel), s'il prend en charge l'authentification OAuth, ou avec le jeton porteur approprié dans l'en-tête Authorization (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).
Recommandé pour les utilisateurs de www.edubase.net, car le serveur est maintenu et mis à jour par nos soins, et vous n'avez pas à vous soucier de l'hébergement ou de la configuration. Assurez-vous simplement d'utiliser la bonne URL et la bonne méthode d'authentification lors de la connexion de votre client.
Installation manuelle
Ajoutez ce qui suit à votre claude_desktop_config.json :
Utilisation de Node.js
Avant d'exécuter le serveur MCP, assurez-vous d'avoir Node.js 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"
}
}
}
}
Ou téléchargez la version du serveur MCP EduBase ou clonez le dépôt et exécutez 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"
}
}
}
}
Utilisation de Docker
Avant d'exécuter le serveur MCP, assurez-vous d'avoir Docker 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 !
{
"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 serveur MCP distant
Vous pouvez utiliser le serveur MCP EduBase fourni (s'il est disponible) comme serveur distant. Nous recommandons d'encoder en Base64 vos EDUBASE_API_APP et EDUBASE_API_KEY et 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 le serveur MCP EduBase pour Claude Desktop automatiquement 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 budgets de taille de la liste des outils et des instructions du serveur, les descriptions des outils, l'ensemble d'outils, les modes d'ensembles d'outils en lecture seule et dynamiques, ainsi que la gestion de la configuration du transport HTTP. Lorsque de nouveaux outils dépassent un budget, raccourcissez leurs schémas ou augmentez délibérément le budget dans test/server.test.mjs, car chaque client paie pour la liste des outils à chaque session.
Contact
Site web : www.edubase.net
Documentation développeur : developer.edubase.net
E-mail : info@edubase.net