edubase_delete_class_members
Remove user(s) from a class.
Author quiz questions, build quiz sets, schedule exams and read results in an EduBase account from the conversation.
LABSCO SUMMARY
One tool per documented endpoint means a flow that normally spans several screens collapses into one conversation: draft the questions, group them into a quiz set, open an exam on that set with a window and an assigned cohort, then read the results back and issue the certificate. The same coverage runs through the administrative side — users, classes, organizations, permissions, webhooks — which is what makes the bulk work worth doing here rather than by hand.
EduBase's own server. Each documented endpoint of the EduBase API is its own tool, named edubase_ followed by the HTTP method and the endpoint — GET /user:me becomes edubase_get_user_me — which covers the whole Quiz hierarchy — questions, quiz sets, exams — plus users, classes, organizations, tags, permissions, integrations and webhooks.
An EduBase integration app: on your dashboard open Integrations, add one of type "EduBase API", and if that option is not offered, the activation code MCPGITHUB unlocks it. Pass its App ID and secret as EDUBASE_API_APP and EDUBASE_API_KEY, with EDUBASE_API_URL pointing at your deployment (it defaults to https://www.edubase.net/api). Runs over stdio through npx or the edubase/mcp Docker image. To serve it remotely, EDUBASE_SSE_MODE or EDUBASE_STREAMABLE_HTTP_MODE switches to HTTP on EDUBASE_HTTP_PORT, which defaults to 3000, and EDUBASE_OAUTH turns it into an OAuth 2.1 protected resource, so clients connect through an EduBase consent screen with no secret to copy. Accounts on www.edubase.net can instead point a client at the hosted endpoint, https://www.edubase.net/mcp.
One command plus a key — npx -y @smithery/cli install @EduBase/MCP --client claude, then supply credentials
USE CASES
Publish questions with their type, content, answer, hints and tags, checking what already exists before adding more.
Assemble the quiz set from existing questions, create the exam on it with open and close times, then assign the cohort.
Pull that user's exam results, and the raw answers behind them when the summary does not settle it.
Create the accounts, put them into classes, and generate an expiring login link for each.
Check who has permission on it today, grant what the new owner needs, then transfer it.
Look up the user's latest certificate for that exam and generate its download link.
Create an organizational webhook, then fire it with a custom payload to check the receiving end before you rely on it.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
edubase_delete_class_membersRemove user(s) from a class.
edubase_delete_class_permissionRemove a user permission from a class.
edubase_delete_class_tagRemove a tag attachment from a class.
edubase_delete_course_permissionRemove a user permission from a course.
edubase_delete_course_tagRemove a tag attachment from a course.
edubase_delete_event_permissionRemove a user permission from an event.
edubase_delete_event_tagRemove a tag attachment from an event.
edubase_delete_examRemove/archive exam.
edubase_delete_exam_brandingRemove branding from an exam.
edubase_delete_exam_permissionRemove a user permission from an exam.
edubase_delete_exam_tagRemove a tag attachment from an exam.
edubase_delete_exam_usersRemove user(s) from an exam.
edubase_delete_filebin_uploadDelete an uploaded file and/or temporary file upload link.
edubase_delete_integrationRemove integration.
edubase_delete_integration_permissionRemove a user permission from an integration.
edubase_delete_integration_tagRemove a tag attachment from an integration.
edubase_delete_organizationRemove organization.
edubase_delete_organization_membersRemove user(s) from an organization.
edubase_delete_organization_permissionRemove a user permission from an organization.
edubase_delete_organization_tagRemove a tag attachment from an organization.
edubase_delete_organization_webhookRemove organizational webhook.
edubase_delete_questionPermanently delete a Quiz question.
edubase_delete_quizRemove/archive Quiz set.
edubase_delete_quiz_permissionRemove a user permission from a quiz.
edubase_delete_quiz_questionsRemove question(s) from a Quiz set, or one of its question group.
edubase_delete_quiz_tagRemove a tag attachment from a Quiz.
edubase_delete_scorm_permissionRemove a user permission from a SCORM learning material.
edubase_delete_scorm_tagRemove a tag attachment from a SCORM learning material.
edubase_delete_tag_permissionRemove a user permission from a tag.
edubase_delete_userDelete user.
edubase_delete_user_assumeRevoke assume token.
edubase_delete_user_classesRemove user from class(es).
edubase_delete_user_loginDelete a previously generated login link.
edubase_delete_user_organizationsRemove user from organization(s).
edubase_delete_video_permissionRemove a user permission from a video.
edubase_delete_video_tagRemove a tag attachment from a video.
edubase_filebinUpload a local file or a file from a URL to the EduBase temporary file storage with a link requested from the API in advance.
edubase_get_classGet/check class.
edubase_get_class_assignmentsList all assignments in a class.
edubase_get_class_membersList all members in a class.
edubase_get_class_permissionCheck if a user has permission on a class.
edubase_get_class_tagCheck if tag is attached to a class.
edubase_get_class_tagsList all attached tags of a class.
edubase_get_classesList owned and managed classes.
edubase_get_course_permissionCheck if a user has permission on a course.
edubase_get_course_tagCheck if tag is attached to a course.
edubase_get_course_tagsList all attached tags of a course.
edubase_get_event_permissionCheck if a user has permission on an event.
edubase_get_event_tagCheck if tag is attached to an event.
edubase_get_event_tagsList all attached tags of an event.
edubase_get_examGet/check exam.
edubase_get_exam_brandingGet exam branding configuration.
edubase_get_exam_certificates_userGet (the latest) certificate details for a specific exam and user.
edubase_get_exam_permissionCheck if a user has permission on an exam.
edubase_get_exam_results_rawGet raw results for a specific exam. Only use this if very detailed results are needed! This endpoint returns raw results, including all answers given by the user. It is not meant to be displayed to the user. This might require additional permissions!
edubase_get_exam_results_userGet user results for a specific exam.
edubase_get_exam_skillsGet skills defined in the Quiz set used by an exam.
edubase_get_exam_tagCheck if tag is attached to an exam.
edubase_get_exam_tagsList all attached tags of an exam.
edubase_get_exam_usersList all users on an exam.
edubase_get_examsList owned and managed exams. Exams are the highest level in the EduBase Quiz hierarchy, built from Quiz sets.
edubase_get_integrationGet/check integration.
edubase_get_integration_keysGet integration keys/secrets.
edubase_get_integration_permissionCheck if a user has permission on an integration.
edubase_get_integration_tagCheck if tag is attached to an integration.
edubase_get_integration_tagsList all attached tags of an integration.
edubase_get_integrationsList owned and managed integrations.
edubase_get_organizationGet/check organization.
edubase_get_organization_membersList all members in an organization.
edubase_get_organization_permissionCheck if a user has permission on an organization.
edubase_get_organization_tagCheck if tag is attached to an organization.
edubase_get_organization_tagsList all attached tags of an organization.
edubase_get_organization_webhookGet/check webhook configured in organization.
edubase_get_organizationsList owned and managed organizations.
edubase_get_questionCheck existing question. Questions are the lowest level in the EduBase hierarchy, serving as the building blocks for Quiz sets. To get question details, use the question export function!
edubase_get_question_idGet external unique question identifier by question identification string.
edubase_get_questionsList owned and managed Quiz questions.
edubase_get_quizGet/check Quiz set. Containing questions and powering Exams.
edubase_get_quiz_permissionCheck if a user has permission on a quiz.
edubase_get_quiz_questionsList all questions and question groups in a Quiz set. Quiz sets contain questions (lowest level) and can be used by exams (highest level).
edubase_get_quiz_results_playGet detailed results for a specific Quiz play.
edubase_get_quiz_results_userGet user results for a specific Quiz set.
edubase_get_quiz_skillsGet skills defined in a Quiz set.
edubase_get_quiz_tagCheck if tag is attached to a Quiz.
edubase_get_quiz_tagsList all attached tags of a Quiz.
edubase_get_quizesList owned and managed Quiz sets. Quiz sets are named collections of questions that sit at the middle level of the EduBase Quiz hierarchy.
edubase_get_scorm_permissionCheck if a user has permission on a SCORM learning material.
edubase_get_scorm_tagCheck if tag is attached to a SCORM learning material.
edubase_get_scorm_tagsList all attached tags of a SCORM learning material.
edubase_get_tagGet/check tag.
edubase_get_tag_permissionCheck if a user has permission on a tag.
edubase_get_tagsList owned and managed tags.
edubase_get_userGet/check user.
edubase_get_user_classesList all classes a user is member of.
edubase_get_user_groupGet user's group.
edubase_get_user_loginGet latest valid login link for user.
edubase_get_user_meGet/check current user.
edubase_get_user_nameGet user's name.
edubase_get_user_organizationsList all organizations a user is member of.
edubase_get_user_searchLookup user by email, username or code.
edubase_get_usersList managed, non-generated users.
edubase_get_video_permissionCheck if a user has permission on a video.
edubase_get_video_tagCheck if tag is attached to a video.
edubase_get_video_tagsList all attached tags of a video.
edubase_mcp_server_apiGet the MCP server API URL (only use for debugging).
edubase_mcp_server_versionGet the MCP server version (only use for debugging).
edubase_patch_integrationUpdate integration.
edubase_patch_organizationUpdate organization.
edubase_patch_organization_webhookUpdate organizational webhook.
edubase_patch_userUpdate user.
edubase_post_class_membersAssign user(s) to a class. Updates memberships if already member of the class.
edubase_post_class_permissionCreate new permission for a user on a class.
edubase_post_class_tagAttach tag to a class.
edubase_post_class_transferTransfer class to user.
edubase_post_classes_membersAssign user(s) to class(es). Updates memberships if already member of a class.
edubase_post_course_permissionCreate new permission for a user on a course.
edubase_post_course_tagAttach tag to a course.
edubase_post_course_transferTransfer course to user.
edubase_post_event_permissionCreate new permission for a user on an event.
edubase_post_event_tagAttach tag to an event.
edubase_post_event_transferTransfer event to user.
edubase_post_examCreate a new exam from an existing Quiz set. Exams are at the top level of the EduBase Quiz hierarchy and MUST be created from existing Quiz sets. They are time-constrained, secured assessment instances of Quiz sets.
edubase_post_exam_brandingConfigure or update exam branding.
edubase_post_exam_certificates_user_downloadGenerate download link for the latest user exam certificate. If a previous valid link exists, it will be returned instead.
edubase_post_exam_permissionCreate new permission for a user on an exam.
edubase_post_exam_summarySubmit a new AI exam summary.
edubase_post_exam_tagAttach tag to an exam.
edubase_post_exam_transferTransfer exam to user.
edubase_post_exam_usersAssign user(s) to an exam.
edubase_post_filebin_uploadGenerate upload link for a temporary file storage.
edubase_post_integrationCreate a new API or LMS integration.
edubase_post_integration_keysRotate integration keys/secrets.
edubase_post_integration_permissionCreate new permission for a user on an integration.
edubase_post_integration_tagAttach tag to an integration.
edubase_post_integration_transferTransfer integration to user.
edubase_post_metrics_customUpdate a custom metric.
edubase_post_organizationCreate an organization.
edubase_post_organization_membersAssign user(s) to an organization. Updates memberships if already member of the organization.
edubase_post_organization_permissionCreate new permission for a user on an organization.
edubase_post_organization_tagAttach tag to an organization.
edubase_post_organization_transferTransfer organization to user.
edubase_post_organization_webhookCreate a webhook for an organization.
edubase_post_organization_webhook_triggerTrigger an organizational webhook call with optional custom payload. Only triggers webhooks with trigger_event set to api!.
edubase_post_organizations_membersAssign user(s) to organization(s). Updates memberships if already member of an organization.
edubase_post_questionPublish or update a question. Questions are the atomic building blocks of the EduBase Quiz system and represent the lowest level in the hierarchy (Questions -> Quiz sets -> Exams). Always check what the fields named like the type of the question do and consider using them, for example if creating a HOTSPOT question, both hotspot_zones and hotspot_image will be required!
edubase_post_question_exportGenerate download link for exporting the question (in JSON format). If a previous valid link exists, it will be returned instead.
edubase_post_question_idSet external unique question identifier for question identified by a question identification string.
edubase_post_quizCreate a new Quiz set. Quiz sets are collections of questions that can be used for practice or to power multiple Exams.
edubase_post_quiz_permissionCreate new permission for a user on a quiz.
edubase_post_quiz_questionsAssign question(s) to a Quiz set, or one of its question group. Questions can exist independently from Quiz sets.
edubase_post_quiz_tagAttach tag to a Quiz.
edubase_post_quiz_transferTransfer Quiz to user.
edubase_post_scorm_permissionCreate new permission for a user on a SCORM learning material.
edubase_post_scorm_tagAttach tag to a SCORM learning material.
edubase_post_scorm_transferTransfer SCORM to user.
edubase_post_tag_permissionCreate new permission for a user on a tag.
edubase_post_tag_transferTransfer tag to user.
edubase_post_userCreate new EduBase user account.
edubase_post_user_assumeAssume user for next requests with assume token.
edubase_post_user_classesAssign user to class(es). Updates membership if already member of a class.
edubase_post_user_groupUpdate a user's group.
edubase_post_user_loginGenerate login link. If a valid link with the same settings exists, it will be returned instead of creating a new one.
edubase_post_user_nameUpdate a user's name.
edubase_post_user_organizationsAssign user to organization(s). Updates membership if already member of an organization.
edubase_post_video_permissionCreate new permission for a user on a video.
edubase_post_video_tagAttach tag to a video.
edubase_post_video_transferTransfer video to user.
BEFORE YOU INSTALL
167 tools when we connected. 36 tools are deletes, including edubase_delete_user and edubase_delete_organization, so this is a full admin surface.
npx on PATH
CONTEXT COST
Rated by the size of the 167 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @smithery/cli install @EduBase/MCP --client claudehttps://www.edubase.net/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
{
"mcpServers": {
"edubase": {
"command": "npx",
"args": [
"-y",
"@edubase/mcp"
],
"env": {
"EDUBASE_API_URL": "https://domain.edubase.net/api",
"EDUBASE_API_APP": "<YOUR_EDUBASE_API_APP>",
"EDUBASE_API_KEY": "<YOUR_EDUBASE_API_KEY>"
}
}
}
}git clone https://github.com/EduBase/MCP.git
cd MCP
npm install
npm run buildThen add this to claude_desktop_config.json:
{
"mcpServers": {
"edubase": {
"command": "node",
"args": [
"<YOUR_PATH_TO_DIST>/index.js"
],
"env": {
"EDUBASE_API_URL": "https://domain.edubase.net/api",
"EDUBASE_API_APP": "<YOUR_EDUBASE_API_APP>",
"EDUBASE_API_KEY": "<YOUR_EDUBASE_API_KEY>"
}
}
}
}<YOUR_PATH_TO_DIST> is the full path of the dist folder the build created in your clone. https://domain.edubase.net/api is your deployment's API URL; <YOUR_EDUBASE_API_APP> and <YOUR_EDUBASE_API_KEY> are your integration app ID and secret.
{
"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_EDUBASE_API_APP>",
"EDUBASE_API_KEY": "<YOUR_EDUBASE_API_KEY>"
}
}
}
}{
"mcpServers": {
"edubase": {
"command": "npx",
"args": [
"mcp-remote",
"https://domain.edubase.net/mcp",
"--header",
"Authorization: Bearer ${EDUBASE_API_APP}:${EDUBASE_API_KEY}"
]
}
}
}Values written as ${…} are filled in only by clients that expand variables.
URL: https://domain.edubase.net/mcp
Auth: OAuth 2.1 discovery via /.well-known/oauth-protected-resource when the server runs with EDUBASE_OAUTH=true
https://domain.edubase.net/mcp