
EduBase
io.github.EduBasePublished by GitHub account EduBasev2.0.11Updated Nov 5, 2026
EduBase MCP server
Overview
Connects an assistant to an EduBase account so it can create questions, quiz sets and exams, manage users and classes, and analyze results.
- What you can do
- Create and publish questions, quiz sets, exams and exam journeys
- Manage users, classes, organizations, tags, permissions and integrations
- Read quiz and exam results, download certificates and summarize outcomes
- Upload temporary files and turn documents into questions
- Run ready-made prompts such as creating an exam or assigning a class to one
- Read reference documents on question fields and the exam journey format
- When to use it
- Useful for teachers, trainers and administrators who already run courses on EduBase and want an assistant to draft questions, assemble exams, assign classes and interpret results without leaving the chat client.
- Requirements
- Either the hosted remote endpoint with OAuth sign-in, or a local process via the npm package (Node.js) or Docker. Local and non-OAuth setups need an EduBase integration app ID and secret, supplied as EDUBASE_API_APP and the API secret variable or the EduBase-Api-App and EduBase-Api-Secret headers. An EduBase account with the integration option enabled is required.
Installation
In SourceWeft
- Open EduBase in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.EduBase%2FMCP/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"edubase": {
"type": "http",
"url": "https://www.edubase.net/mcp"
}
}
}README
EduBase MCP server
[pre-commit.ci status] [Publish]
This repository contains the implementation of the Model Context Protocol (MCP) server for the EduBase platform. It allows MCP clients (for example Claude Desktop) and LLMs to interact with your EduBase account and perform tasks on your behalf. It supports stdio, SSE and streamable HTTP transport protocols.
[EduBase MCP demo GIF: Claude uploads math questions]
What is EduBase?
EduBase is an innovative, modular, online educational platform that makes learning more enjoyable, simpler and interactive, suitable for educational institutions or enterprises.
Why choose EduBase?
EduBase revolutionizes digital learning with its unique combination of features:
- Advanced Quiz System with parametrization allowing infinite variations of the same question, real-time cheating detection, beautiful LaTeX typesetting, advanced STEM-support and automatic grading
- Unified Learning Environment that centralizes all your educational content — videos, exams, documents, and SCORM modules — in one intuitive system
- Enterprise-Grade Security with features like SSO integration, fine-grained access controls, comprehensive auditing, and GDPR compliance
- Integration with your existing systems through LTI, comprehensive API, and custom integration options
- AI-Assisted Tools, such as EduBase Assistant, that can instantly transform your existing content into interactive quizzes and assessments, or translate your materials from one language to another
From higher education institutions to corporate training departments, EduBase scales to meet your specific needs while maintaining an intuitive user experience across all devices.
Demo video
Collaboratively creating and uploading questions, scheduling exams and analyzing user results with Claude:
[Demonstrating EduBase's MCP server to collaboratively create and upload questions, schedule exams and analyze results.]Obtaining your API credentials
Once logged in, on your Dashboard, search for the Integrations menu, click "add integration" and choose the type "EduBase API".
If you don't see this option, enter the MCPGITHUB activation code or feel free to contact us to request access at [email protected].
Tools
Each documented API endpoint is available as a tool, named edubase_<method>_<endpoint>. For example, the tool for the GET /user:me endpoint is named edubase_get_user_me. The tag, permission and transfer endpoints work the same way for every content type, so they share a single tool per method with a type argument (e.g. edubase_post_content_tag for POST /exam:tag, POST /quiz:tag, etc.). See our developer documentation for more information.
Toolsets
Tools are grouped into toolsets, so you can expose only the tools you need. Fewer tools use less of the model's context and make it easier for the model to pick the right one. Every toolset is enabled by default.
Select toolsets with a comma-separated list in EDUBASE_TOOLSETS (e.g. questions,quizzes,exams). Set EDUBASE_READONLY=true to expose only the tools that read data (the get tools, and the tools that only generate download links, like edubase_post_question_export).
Set EDUBASE_DYNAMIC_TOOLSETS=true to enable toolsets on demand: sessions start with only the critical tools, and the model enables the toolsets it needs with the edubase_enable_toolsets tool (listed with edubase_list_toolsets). This keeps the initial tool list small for clients that load every tool upfront, but needs a client that refreshes the tool list when notified about changes.
When an HTTP transport is used, clients can narrow the configuration further for their own session with the EduBase-Mcp-Toolsets, EduBase-Mcp-ReadOnly and EduBase-Mcp-Dynamic headers, or the toolsets, read_only and dynamic_toolsets query parameters (e.g. https://domain.edubase.net/mcp?toolsets=exams&read_only=true). A session can never enable toolsets or write tools that the server configuration disables.
Prompts
Prompts are ready-made workflows you can start from your MCP client (e.g. from the + or / menu). Clients supporting completions suggest values for the arguments as you type: question types, and your own exams, Quiz sets and classes.
Prompts are only offered when their toolsets are enabled, and in read-only mode only the last two are offered.
When the question types of an exam are left empty, clients supporting elicitation ask for them with checkboxes. These clients also ask you to confirm the changes that cannot be undone (deleting exams, Quiz sets, questions, users, organizations and integrations, transferring ownership, starting a new exam round and rotating integration keys) before they are made. Set EDUBASE_ELICITATION=false to turn these questions off.
Resources
Reference documents are available as resources, and through the edubase_mcp_reference tool for models that cannot read resources: edubase://reference/questions (the question fields and types) and edubase://reference/exam-journeys (the portable exam journey format). They cover what the EduBase skills explain, for clients without the skills. Exams and Quiz sets can be attached as resources too (edubase://exam/{exam} and edubase://quiz/{quiz}), with your contents listed and suggested. Turn these off with EDUBASE_CONTENT_RESOURCES=false, or for a session with the EduBase-Mcp-Content-Resources: false header, the content_resources=false query parameter, or the edubaseContentResources Smithery setting.
Tools creating or changing exams, Quiz sets and journeys link to their pages in EduBase.
Configuration
The MCP server can be configured using environment variables. The following variables are available:
Use as a remote MCP server
You can use the EduBase MCP server as a remote MCP server for your MCP client. To do this, you need to host the MCP server where clients can access it, and then configure the client to connect to the server. Either start it with SSE or streamable HTTP transport mode and always use HTTPS when accessing the server remotely over the internet!
Authentication with remote servers
You can use server in two modes:
- Without client authentication: In this mode, the server will not require any authentication from the client. This is useful for testing or development purposes, or in a closed network but it is not recommended for production use. For this, you have to configure the server with the
EDUBASE_API_APPandEDUBASE_API_KEYas well! - With Bearer token authentication: In this mode, the server will require a Bearer token to be sent with each request. This is the recommended way to use the server in production. You can obtain the Bearer token from your EduBase account by creating an integration app and providing the App ID and Secret key in the
{app}:{secret}format, base64 encoded as a token. The server will then use this token to authenticate the client and authorize access to the API endpoints. - With OAuth 2.1 (EduBase as IdP): When
EDUBASE_OAUTH=true, compatible clients (Claude Desktop, Claude.ai connectors, Cursor, ChatGPT connectors, etc.) discover the EduBase authorization server through/.well-known/oauth-protected-resource, register themselves dynamically (RFC 7591), walk the user through an EduBase consent screen, and exchange an authorization code (with PKCE S256) for an opaque access token. The MCP server forwards that token verbatim to the EduBase API, which resolves it to the auto-provisioned MCP integration, created on first consent. No App ID/Secret to copy — users just click "Connect EduBase" in their client.
Usage with Claude Desktop
For a step-by-step walkthrough, see our blog post on how to connect EduBase with Claude: The Complete MCP Integration Guide.
Using the provided EduBase MCP server
You can use the provided EduBase MCP server (if available) without any configuration, just by adding it as a remote server in your client with the URL https://domain.edubase.net/mcp (replace with the actual domain), if it supports OAuth authentication, or with the appropriate Bearer token in the Authorization header (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).
Recommended for www.edubase.net users, as the server is maintained and updated by us, and you don't have to worry about hosting or configuring it. Just make sure to use the correct URL and authentication method when connecting your client.
Installing manually
Add the following to your claude_desktop_config.json:
Using Node.js
Before running the MCP server, make sure you have Node.js installed. You can download it from nodejs.org or use a package manager like brew.
Or download EduBase MCP server release or clone the repository and run npm run build to build the server. Do not forget to adjust /path/to/dist to the actual directory and configure the environmental variables!
Using Docker
Before running the MCP server, make sure you have Docker installed and is running. You can download it from docker.com or use a package manager. Do not forget to configure the environmental variables! The image is available for linux/amd64 and linux/arm64 on Docker Hub as edubase/mcp and on GitHub Packages as ghcr.io/edubase/mcp.
Installing via remote MCP server
You can use the provided EduBase MCP server (if available) as a remote server. We recommend Base64 encoding your EDUBASE_API_APP and EDUBASE_API_KEY and using it in as a Bearer token in the Authorization header (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).
Installing via Smithery
To install EduBase MCP server for Claude Desktop automatically via Smithery:
Development
Run npm test to build the server and check the tool listing: the size budgets of the tool list and the server instructions, the tool descriptions, the toolset, read-only and dynamic toolsets modes, and the configuration handling of the HTTP transport. When new tools exceed a budget, shorten their schemas or raise the budget in test/server.test.mjs deliberately, as every client pays for the tool list in every session.
The reference documents in src/references are generated from the EduBase developer documentation, regenerate them with node scripts/sync-references.mjs <path to the developer documentation repository> when the question fields or the exam journey format change.
Merging a pull request labelled major, minor or patch commits the next version to main and starts the Publish workflow, which publishes the package to npm and the MCP Registry and the container image to Docker Hub and GitHub Packages, and tags the commit and creates a GitHub release once all of them succeeded. Without one of these labels nothing is released. A version set by hand in the pull request is released as it is. The commit, the tag and the release come from a dedicated release app, whose credentials are in the release environment. The Publish workflow runs the tests first, checks the built image before pushing it, and signs in to Docker Hub with OIDC, using the DOCKERHUB_OIDC_CONNECTIONID and DOCKERHUB_OIDC_USERNAME variables. It pushes to GitHub Packages with the job's GITHUB_TOKEN, as GitHub refuses GitHub App tokens there. Run it by hand with a version to retry or rebuild a release: whatever is already on npm and the MCP Registry is skipped, and latest only moves for the newest release.
Documentation sync point: tools, prompts and references last synced 2026-11-05 against the Developer documentation synced to EduBase release
8.6.5(the documentation pull request for8.6.5), checked against the EduBase at commitf7e83da65. To bring the server forward, rungit log --oneline <commit>..HEADandgit diff <commit>..HEAD -- docs/api/endpointsin the developer documentation repository, from the commit of the documentation pull request for8.6.5, update the affected tools insrc/tools(and their prompts and toolset guides), regenerate the reference documents, and move this marker to the new HEAD commits. Where the two differ, the EduBase repository wins.
Contact
Website: www.edubase.net
Developer Documentation: developer.edubase.net
Email: [email protected]
Source: README.md at commit fd0f6a8
Tools
0Version history
11- v2.0.11LatestNov 5, 2026
- v2.0.10Nov 1, 2026
- v2.0.9Oct 26, 2026
- v2.0.8Oct 25, 2026
- v2.0.7Oct 18, 2026
- v2.0.6Oct 13, 2026
- v2.0.5Oct 13, 2026
- v2.0.4Oct 12, 2026
- v2.0.3Sep 29, 2026
- v2.0.2Sep 28, 2026
- v2.0.1Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts