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 ?

  • 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, quizzes et exams.

  • 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, users et classes.

  • Contrôler l'accès aux outils — Configurez les ensembles d'outils exposés via EDUBASE_TOOLSETS, activez le mode lecture seule avec EDUBASE_READONLY, ou laissez le modèle activer les ensembles d'outils à la demande avec edubase_enable_toolsets et edubase_list_toolsets.

  • Téléverser et gérer des fichiers — Utilisez l'outil edubase_filebin pour téléverser des fichiers temporaires, avec protection SSRF et liste blanche d'hôtes facultative via EDUBASE_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 Authorization pour les déploiements en production.

Documentation

EduBase logo

Serveur MCP EduBase

pre-commit.ci status Publish to MCP Registry

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.

EduBase MCP demo GIF: Claude uploads math questions

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 :

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

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.

EduBase API credentials page

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'outilsOutils pour
filesTéléversements de fichiers temporaires (toujours activé)
questionsQuestions
quizzesEnsembles de quiz, leurs questions, paramètres et préréglages de notation
examsExamens, leurs paramètres, utilisateurs, certificats et personnalisation
resultsRésultats de quiz et d'examens, téléchargements de certificats
usersUtilisateurs, leurs noms, groupes et liens de connexion
classesClasses et adhésions aux classes
organizationsOrganisations, membres, départements, compétences et webhooks
integrationsIntégrations et leurs clés
tagsBalises et pièces jointes de balises des contenus
permissionsPermissions utilisateur sur les contenus et transferts de propriété
metricsMé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 :

VariableDescriptionRequiseValeur par défaut
EDUBASE_API_URLL'URL de base de l'API EduBase, très probablement https://subdomain.edubase.net/api.Ouihttps://www.edubase.net/api
EDUBASE_API_APPL'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_KEYLa 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_MODEDémarre le serveur MCP en mode HTTP avec transport SSE. La valeur doit être true.Nonfalse
EDUBASE_STREAMABLE_HTTP_MODEDémarre le serveur MCP en mode HTTP avec transport HTTP streamable. 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'expose que les outils qui lisent les données. La valeur doit être true.Nonfalse
EDUBASE_OUTPUT_SCHEMASSché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).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_DYNAMIC_TOOLSETSDé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.Nonfalse
EDUBASE_HTTP_PORTLe serveur HTTP écoutera sur ce port si le mode de transport SSE ou HTTP streamable 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, et les jetons porteurs sont transmis à l'API EduBase.Nonfalse
EDUBASE_OAUTH_AUTHORIZATION_SERVERURL 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.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 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 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.Nonfalse
EDUBASE_FILEBIN_ALLOWED_HOSTSListe 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_APP et EDUBASE_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