EduBase

offiziell

Interagiere mit EduBase, einer umfassenden E-Learning-Plattform mit erweiterten Funktionen für Quiz, Prüfungsverwaltung und Inhaltsorganisation.

Was kann man mit EduBase MCP machen?

  • Bildungsinhalte verwalten — Bitten Sie Ihre KI, Fragen, Quizze, Prüfungen und deren Einstellungen über die Toolsets questions, quizzes und exams zu erstellen, zu aktualisieren oder abzurufen.

  • Ergebnisse und Benutzer analysieren — Lassen Sie Ihre KI Quiz-/Prüfungsergebnisse, Zertifikatsdownloads, Benutzerdetails und Klassenmitgliedschaften mithilfe der Toolsets results, users und classes abrufen.

  • Tool-Zugriff steuern — Konfigurieren Sie, welche Toolsets über EDUBASE_TOOLSETS verfügbar gemacht werden, aktivieren Sie den Nur-Lese-Modus mit EDUBASE_READONLY, oder lassen Sie das Modell Toolsets bei Bedarf mit edubase_enable_toolsets und edubase_list_toolsets aktivieren.

  • Dateien hochladen und verwalten — Verwenden Sie das Tool edubase_filebin, um temporäre Dateien hochzuladen, mit SSRF-Schutz und optionaler Host-Whitelist über EDUBASE_FILEBIN_ALLOWED_HOSTS.

  • Sicherer Fernzugriff — Verbinden Sie sich über OAuth 2.1 mit EduBase als Identitätsanbieter oder verwenden Sie die Bearer-Token-Authentifizierung mit dem Authorization-Header für Produktionsbereitstellungen.

Dokumentation

EduBase logo

EduBase MCP-Server

pre-commit.ci status Publish to MCP Registry

Dieses Repository enthält die Implementierung des Model Context Protocol (MCP)-Servers für die EduBase-Plattform. Er ermöglicht es MCP-Clients (z. B. Claude Desktop) und LLMs, mit Ihrem EduBase-Konto zu interagieren und Aufgaben in Ihrem Namen auszuführen. Er unterstützt die Transportprotokolle stdio, SSE und streamable HTTP.

EduBase MCP demo GIF: Claude uploads math questions

Was ist EduBase?

EduBase ist eine innovative, modulare, Online-Bildungsplattform, die das Lernen angenehmer, einfacher und interaktiver gestaltet und sich für Bildungseinrichtungen oder Unternehmen eignet.

Warum EduBase wählen?

EduBase revolutioniert das digitale Lernen mit seiner einzigartigen Kombination von Funktionen:

  • Fortschrittliches Quiz-System mit Parametrisierung, die unendliche Variationen derselben Frage ermöglicht, Echtzeit-Erkennung von Betrugsversuchen, schönem LaTeX-Satz, erweiterter STEM-Unterstützung und automatischer Bewertung
  • Vereinheitlichte Lernumgebung, die alle Ihre Bildungsinhalte – Videos, Prüfungen, Dokumente und SCORM-Module – in einem intuitiven System zentralisiert
  • Sicherheit auf Unternehmensniveau mit Funktionen wie SSO-Integration, feingranularen Zugriffskontrollen, umfassender Protokollierung und DSGVO-Konformität
  • Integration in Ihre bestehenden Systeme über LTI, umfassende API und individuelle Integrationsoptionen
  • KI-gestützte Werkzeuge, wie den EduBase Assistant, die Ihre vorhandenen Inhalte sofort in interaktive Quizze und Bewertungen umwandeln oder Ihre Materialien von einer Sprache in eine andere übersetzen können

Von Hochschuleinrichtungen bis zu Unternehmensschulungsabteilungen skaliert EduBase entsprechend Ihren spezifischen Anforderungen und bietet dabei eine intuitive Benutzererfahrung auf allen Geräten.

Demovideo

Gemeinsames Erstellen und Hochladen von Fragen, Planen von Prüfungen und Analysieren von Benutzerergebnissen mit Claude:

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

Abrufen Ihrer API-Anmeldeinformationen

Suchen Sie nach der Anmeldung auf Ihrem Dashboard im Menü „Integrationen", klicken Sie auf „Integration hinzufügen" und wählen Sie den Typ „EduBase API".

Wenn Sie diese Option nicht sehen, geben Sie den Aktivierungscode MCPGITHUB ein oder kontaktieren Sie uns gerne, um Zugriff anzufragen: info@edubase.net.

EduBase API credentials page

Werkzeuge

Jeder dokumentierte API-Endpunkt ist als Werkzeug verfügbar, benannt edubase_<method>_<endpoint>. Beispielsweise ist das Werkzeug für den Endpunkt GET /user:me mit edubase_get_user_me benannt. Die Tag-, Berechtigungs- und Übertragungs-Endpunkte funktionieren für jeden Inhaltstyp auf die gleiche Weise, daher teilen sie sich ein einzelnes Werkzeug pro Methode mit einem type-Argument (z. B. edubase_post_content_tag für POST /exam:tag, POST /quiz:tag usw.). Weitere Informationen finden Sie in unserer Entwicklerdokumentation.

Werkzeugsätze

Werkzeuge sind in Werkzeugsätzen gruppiert, sodass Sie nur die Werkzeuge freigeben können, die Sie benötigen. Weniger Werkzeuge verbrauchen weniger Kontext des Modells und erleichtern es dem Modell, das richtige auszuwählen. Jeder Werkzeugsatz ist standardmäßig aktiviert.

WerkzeugsatzWerkzeuge für
filesTemporäre Datei-Uploads (immer aktiviert)
questionsFragen
quizzesQuiz-Sets, deren Fragen, Einstellungen und Bewertungsvorgaben
examsPrüfungen, deren Einstellungen, Benutzer, Zertifikate und Branding
resultsQuiz- und Prüfungsergebnisse, Zertifikats-Downloads
usersBenutzer, deren Namen, Gruppen und Anmelde-Links
classesKlassen und Klassenmitgliedschaften
organizationsOrganisationen, Mitglieder, Abteilungen, Kompetenzen und Webhooks
integrationsIntegrationen und deren Schlüssel
tagsTags und Tag-Anhänge von Inhalten
permissionsBenutzerberechtigungen für Inhalte und Eigentumsübertragungen
metricsBenutzerdefinierte Metriken

Wählen Sie Werkzeugsätze mit einer durch Kommas getrennten Liste in EDUBASE_TOOLSETS aus (z. B. questions,quizzes,exams). Setzen Sie EDUBASE_READONLY=true, um nur die Werkzeuge freizugeben, die Daten lesen (die get-Werkzeuge und die Werkzeuge, die nur Download-Links generieren, wie edubase_post_question_export).

Setzen Sie EDUBASE_DYNAMIC_TOOLSETS=true, um Werkzeugsätze bei Bedarf zu aktivieren: Sitzungen starten nur mit den kritischen Werkzeugen, und das Modell aktiviert die benötigten Werkzeugsätze mit dem edubase_enable_toolsets-Werkzeug (aufgelistet mit edubase_list_toolsets). Dies hält die anfängliche Werkzeugliste für Clients klein, die alle Werkzeuge im Voraus laden, erfordert jedoch einen Client, der die Werkzeugliste aktualisiert, wenn Änderungen gemeldet werden.

Wenn ein HTTP-Transport verwendet wird, können Clients die Konfiguration für ihre eigene Sitzung weiter einschränken, mit den Headern EduBase-Mcp-Toolsets, EduBase-Mcp-ReadOnly und EduBase-Mcp-Dynamic oder den Abfrageparametern toolsets, read_only und dynamic_toolsets (z. B. https://domain.edubase.net/mcp?toolsets=exams&read_only=true). Eine Sitzung kann niemals Werkzeugsätze oder Schreibwerkzeuge aktivieren, die die Serverkonfiguration deaktiviert.

Konfiguration

Der MCP-Server kann mithilfe von Umgebungsvariablen konfiguriert werden. Die folgenden Variablen sind verfügbar:

VariableBeschreibungErforderlichStandardwert
EDUBASE_API_URLDie Basis-URL der EduBase-API, höchstwahrscheinlich https://subdomain.edubase.net/api.Jahttps://www.edubase.net/api
EDUBASE_API_APPDie App-ID Ihrer Integrations-App auf EduBase, die app auf der EduBase-API. Finden Sie diese im Integrationsdetailfenster auf EduBase.Nicht, wenn HTTP-Transport mit Authentifizierung verwendet wird, sonst Ja-
EDUBASE_API_KEYDer geheime Schlüssel Ihrer Integrations-App auf EduBase, die secret auf der EduBase-API. Finden Sie diesen zusammen mit der App-ID im Integrationsdetailfenster auf EduBase.Nicht, wenn HTTP-Transport mit Authentifizierung verwendet wird, sonst Ja-
EDUBASE_SSE_MODEStartet den MCP-Server im HTTP-Modus mit SSE-Transport. Der Wert muss true sein.Neinfalse
EDUBASE_STREAMABLE_HTTP_MODEStartet den MCP-Server im HTTP-Modus mit streamable HTTP-Transport. Der Wert muss true sein.Neinfalse
EDUBASE_TOOLSETSDurch Kommas getrennte Liste der aktivierten Werkzeugsätze oder all.Neinall
EDUBASE_READONLYNur die Werkzeuge freigeben, die Daten lesen. Der Wert muss true sein.Neinfalse
EDUBASE_OUTPUT_SCHEMASAusgabeschemata der Werkzeuge und strukturierte Werkzeugergebnisse: off listet die Werkzeuge ohne Ausgabeschemata auf und gibt die Ergebnisse nur als JSON-Text zurück, on enthält die vollständigen Ausgabeschemata, fields enthält die Ausgabeschemata ohne die Feldbeschreibungen (behält die strukturierten Ergebnisse bei, spart aber die meisten Tokens der Schemata).Neinfields
EDUBASE_CONFIG_PROVIDERSDurch Kommas getrennte Liste der Hosting-Anbieter, die bei Verwendung eines HTTP-Transports Sitzungskonfiguration in den Anfragen bereitstellen dürfen. Derzeit wird nur smithery unterstützt (der base64-codierte config-Abfrageparameter).Nein-
EDUBASE_DYNAMIC_TOOLSETSSitzungen nur mit den Datei-Upload-Werkzeugen starten und dem Modell erlauben, Werkzeugsätze bei Bedarf zu aktivieren. Der Wert muss true sein.Neinfalse
EDUBASE_HTTP_PORTDer HTTP-Server lauscht auf diesem Port, wenn der SSE- oder streamable HTTP-Transportmodus verwendet wird.Nein3000
EDUBASE_OAUTHAktiviert das Verhalten einer durch OAuth 2.1 geschützten Ressource: Nicht authentifizierte Anfragen werden mit 401 + WWW-Authenticate abgelehnt, das auf /.well-known/oauth-protected-resource verweist, und Bearer-Tokens werden an die EduBase-API weitergeleitet.Neinfalse
EDUBASE_OAUTH_AUTHORIZATION_SERVERÖffentliche Basis-URL der EduBase-Bereitstellung, die als OAuth-IdP fungiert. Wird verwendet, um den Autorisierungsserver im Metadaten-Dokument der geschützten Ressource anzukündigen.Neinabgeleitet von EDUBASE_API_URL
EDUBASE_OAUTH_RESOURCE_URLÖffentliche Basis-URL dieses MCP-Servers (der OAuth-Ressourcenindikator). Wird im WWW-Authenticate-Header und in den Ressourcenmetadaten verwendet.Neinabgeleitet von EDUBASE_API_URL
EDUBASE_ALLOW_PRIVATE_NETWORKWenn ein HTTP-Transport verwendet wird, blockiert das edubase_filebin-Werkzeug ausgehende Anfragen an private, Loopback-, Link-Local- und reservierte Adressen (SSRF-Schutz) und lehnt lokale Dateipfade ab. Setzen Sie es auf true, um diese zuzulassen, z. B. bei einer selbst gehosteten Bereitstellung in einem vertrauenswürdigen privaten Netzwerk. Hat im stdio-Modus keine Auswirkung, wo der lokale Benutzer der einzige Aufrufer ist.Neinfalse
EDUBASE_FILEBIN_ALLOWED_HOSTSOptionale, durch Kommas getrennte Zulassungsliste von Hostnamen, die als edubase_filebin-Upload-Ziele erlaubt sind (exakter Host oder beliebige Subdomain, z. B. edubase.net). Wenn leer, ist jeder öffentliche Host erlaubt (unterliegt weiterhin der obigen Adressfilterung).Nein-

Verwendung als Remote-MCP-Server

Sie können den EduBase MCP-Server als Remote-MCP-Server für Ihren MCP-Client verwenden. Dazu müssen Sie den MCP-Server so hosten, dass Clients darauf zugreifen können, und dann den Client so konfigurieren, dass er sich mit dem Server verbindet. Starten Sie ihn entweder im SSE- oder streamable HTTP-Transportmodus und verwenden Sie beim Remote-Zugriff über das Internet immer HTTPS!

Authentifizierung mit Remote-Servern

Sie können den Server in zwei Modi verwenden:

  • Ohne Client-Authentifizierung: In diesem Modus verlangt der Server keine Authentifizierung vom Client. Dies ist für Test- oder Entwicklungszwecke oder in einem geschlossenen Netzwerk nützlich, wird jedoch für die Produktion nicht empfohlen. Dazu müssen Sie den Server auch mit EDUBASE_API_APP und EDUBASE_API_KEY konfigurieren!
  • Mit Bearer-Token-Authentifizierung: In diesem Modus verlangt der Server, dass mit jeder Anfrage ein Bearer-Token gesendet wird. Dies ist die empfohlene Methode für die Produktion. Sie können das Bearer-Token von Ihrem EduBase-Konto erhalten, indem Sie eine Integrations-App erstellen und die App-ID und den geheimen Schlüssel im Format {app}:{secret} angeben, base64-codiert als Token. Der Server verwendet dieses Token dann, um den Client zu authentifizieren und den Zugriff auf die API-Endpunkte zu autorisieren.
  • Mit OAuth 2.1 (EduBase als IdP): Wenn EDUBASE_OAUTH=true, entdecken kompatible Clients (Claude Desktop, Claude.ai-Connectors, Cursor, ChatGPT-Connectors usw.) den EduBase-Autorisierungsserver über /.well-known/oauth-protected-resource, registrieren sich dynamisch (RFC 7591), führen den Benutzer durch einen EduBase-Zustimmungsbildschirm und tauschen einen Autorisierungscode (mit PKCE S256) gegen ein undurchsichtiges Zugriffstoken aus. Der MCP-Server leitet dieses Token unverändert an die EduBase-API weiter, die es der automatisch bereitgestellten MCP-Integration zuordnet, die bei der ersten Zustimmung erstellt wurde. Kein Kopieren von App-ID/Secret erforderlich – Benutzer klicken einfach in ihrem Client auf „Mit EduBase verbinden".

Verwendung mit Claude Desktop

Eine Schritt-für-Schritt-Anleitung finden Sie in unserem Blogbeitrag zum Thema EduBase mit Claude verbinden: Der vollständige MCP-Integrationsleitfaden.

Verwenden des bereitgestellten EduBase MCP-Servers

Sie können den bereitgestellten EduBase MCP-Server (falls verfügbar) ohne Konfiguration verwenden, indem Sie ihn einfach als Remote-Server in Ihrem Client mit der URL https://domain.edubase.net/mcp hinzufügen (durch die tatsächliche Domain ersetzen), wenn er OAuth-Authentifizierung unterstützt, oder mit dem entsprechenden Bearer-Token im Authorization-Header (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).

Empfohlen für www.edubase.net-Benutzer, da der Server von uns gewartet und aktualisiert wird und Sie sich keine Gedanken über Hosting oder Konfiguration machen müssen. Stellen Sie nur sicher, dass Sie beim Verbinden Ihres Clients die richtige URL und Authentifizierungsmethode verwenden.

Manuelle Installation

Fügen Sie Folgendes zu Ihrer claude_desktop_config.json hinzu:

Verwendung mit Node.js

Stellen Sie vor dem Ausführen des MCP-Servers sicher, dass Node.js installiert ist. Sie können es von nodejs.org herunterladen oder einen Paketmanager wie brew verwenden.

{
  "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"
      }
    }
  }
}

Oder laden Sie die EduBase MCP-Server-Version herunter oder klonen Sie das Repository und führen Sie npm run build aus, um den Server zu erstellen. Vergessen Sie nicht, /path/to/dist an das tatsächliche Verzeichnis anzupassen und die Umgebungsvariablen zu konfigurieren!

{
  "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"
      }
    }
  }
}

Verwendung mit Docker

Stellen Sie vor dem Ausführen des MCP-Servers sicher, dass Docker installiert ist und ausgeführt wird. Sie können es von docker.com herunterladen oder einen Paketmanager verwenden. Vergessen Sie nicht, die Umgebungsvariablen zu konfigurieren!

{
  "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 über Remote-MCP-Server

Sie können den bereitgestellten EduBase MCP-Server (falls verfügbar) als Remote-Server verwenden. Wir empfehlen, Ihre EDUBASE_API_APP und EDUBASE_API_KEY Base64 zu kodieren und als Bearer-Token im Authorization-Header zu verwenden (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 über Smithery

Um den EduBase MCP-Server für Claude Desktop automatisch über Smithery zu installieren:

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

Entwicklung

Führen Sie npm test aus, um den Server zu erstellen und die Tool-Liste zu überprüfen: die Größenbudgets der Tool-Liste und der Server-Anweisungen, die Tool-Beschreibungen, das Toolset, die Modi für schreibgeschützte und dynamische Toolsets sowie die Konfigurationsbehandlung des HTTP-Transports. Wenn neue Tools ein Budget überschreiten, kürzen Sie ihre Schemata oder erhöhen Sie das Budget in test/server.test.mjs bewusst, da jeder Client die Tool-Liste in jeder Sitzung bezahlt.

Kontakt

Website: www.edubase.net
Entwicklerdokumentation: developer.edubase.net
E-Mail: info@edubase.net