Skip to main content
Glama

EduBase MCP Server

Official
by EduBase
quizes.js9.12 kB
/* # Quiz Sets (Middle Level in EduBase Hierarchy) Quiz sets are collections of questions and/or question groups in EduBase. They sit between Questions (lowest level) and Exams (highest level) in the hierarchy. Key characteristics: - Quiz sets contain a set of questions or question groups - They can be used for practice or to power Exams - Questions in a Quiz set can be random or fixed - One Quiz set can be used to create multiple Exams */ /* Tool definitions */ export const EDUBASE_API_TOOLS_QUIZES = [ // GET /quizes - List owned and managed Quiz sets { name: 'edubase_get_quizes', description: "List owned and managed Quiz sets. Quiz sets are named collections of questions that sit at the middle level of the EduBase Quiz hierarchy.", inputSchema: { type: 'object', properties: { search: { type: 'string', description: 'search string to filter results', }, limit: { type: 'number', description: 'limit number of results (default: 16)', }, page: { type: 'number', description: 'page number (default: 1), not used in search mode!', }, }, required: [], }, }, // GET /quiz - Get/check Quiz set { name: 'edubase_get_quiz', description: "Get/check Quiz set. Containing questions and powering Exams.", inputSchema: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, }, required: ['quiz'], }, }, // POST /quiz - Create a new Quiz set { name: 'edubase_post_quiz', description: "Create a new Quiz set. Quiz sets are collections of questions that can be used for practice or to power multiple Exams.", inputSchema: { type: 'object', properties: { language: { type: 'string', description: 'desired Quiz set language', }, title: { type: 'string', description: 'title of the Quiz set', }, id: { type: 'string', description: "External unique Quiz identifier.\n" + "Should be maximum 64 characters long!" }, description: { type: 'string', description: 'short description', }, mode: { type: 'string', description: "Sets how questions are displayed during the Quiz. (default: TEST)\n" + "- TEST: all questions are displayed at once, user can answer them in any order and switch between them\n" + "- TURNS: questions are displayed one by one, only one question is visible at a time and the user must answer it before moving to the next question\n" }, type: { type: 'string', description: "Type of the Quiz set. (default: set)\n" + "- set: for practice purposes\n" + "- exam: for exam purposes\n" + "- private: for private purposes (e.g testing)\n" }, }, required: ['title'], }, }, // DELETE /quiz - Remove/archive Quiz set { name: 'edubase_delete_quiz', description: "Remove/archive Quiz set.", inputSchema: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, }, required: ['quiz'], }, }, // GET /quiz:questions - List all questions and question groups in a Quiz set { name: 'edubase_get_quiz_questions', description: "List all questions and question groups in a Quiz set. Quiz sets contain questions (lowest level) and can be used by exams (highest level).", inputSchema: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, }, required: ['quiz'], }, }, // POST /quiz:questions - Assign question(s) to a Quiz set, or one of its question group { name: 'edubase_post_quiz_questions', description: "Assign question(s) to a Quiz set, or one of its question group. Questions can exist independently from Quiz sets.", inputSchema: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, group: { type: 'string', description: 'question group title', }, questions: { type: 'string', description: 'comma-separated list of question identification strings', }, }, required: ['quiz', 'questions'], }, }, // DELETE /quiz:questions - Remove question(s) from a Quiz set, or one of its question group { name: 'edubase_delete_quiz_questions', description: "Remove question(s) from a Quiz set, or one of its question group.", inputSchema: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, group: { type: 'string', description: 'question group title', }, questions: { type: 'string', description: 'comma-separated list of question identification strings', }, }, required: ['quiz', 'questions'], }, }, ]; /* Output schema definitions */ export const EDUBASE_API_TOOLS_QUIZES_OUTPUT_SCHEMA = { // GET /quizes - List owned and managed Quiz sets edubase_get_quizes: { type: 'array', items: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, id: { type: 'string', description: 'external unique Quiz identifier (if set for the Quiz)', }, name: { type: 'string', description: 'title of the Quiz set', }, }, }, }, // GET /quiz - Get/check Quiz set edubase_get_quiz: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, id: { type: 'string', description: 'external unique Quiz identifier (if set for the Quiz)', }, name: { type: 'string', description: 'title of the Quiz set', }, }, }, // GET /quiz - Create a new Quiz set edubase_post_quiz: { type: 'object', properties: { quiz: { type: 'string', description: 'Quiz identification string', }, }, }, // DELETE /quiz - Remove/archive Quiz set edubase_delete_quiz: {}, // GET /quiz:questions - List all questions and question groups in a Quiz set edubase_get_quiz_questions: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'external unique question identifier (if present)', }, question: { type: 'string', description: 'question identification string (if question)', }, group: { type: 'string', description: 'question group title (if group)', }, active: { type: 'boolean', description: 'active item', }, }, }, }, // POST /quiz:questions - Assign question(s) to a Quiz set, or one of its question group edubase_post_quiz_questions: {}, // DELETE /quiz:questions - Remove question(s) from a Quiz set, or one of its question group edubase_delete_quiz_questions: {}, };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EduBase/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server