Skip to main content
Glama

edubase_post_question

Create or update a question in EduBase, supporting diverse types like multiple-choice, numeric, and hotspot, with options for parameters, attachments, and scoring.

Instructions

Publish 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!

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesExternal unique question identifier for question management.
typeYesType of the question.
contentYesThe main question text that will be displayed to the test taker. Supports rich formatting options, including LaTeX, parameters, quick expressions, and EduTags for styling. This is documented as `question` in the Developer Documentation, but named `content` in the API for better clarity.
question_formatNoControls question text rendering.
answerYesThe correct answer(s) for the question. For multiple answers, separate with triple-and operator ("&&&"). The solution and the corresponding label can also be specified together using the triple arrow (">>>") operator
languageNoThe language of the question, in Alpha-2 code format (according to ISO 639-1).
imageNoAttach an image to the question. Supported formats: PNG, JPEG, WebP. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded image (whole data string) or a URL.
answer_orderNoControls whether the sequence of multiple answers matters.
answer_labelNoText displayed in/above the input field during the test. Separate multiple labels with triple-and operators ("&&&"). Automatically activates the answer_order function.
answer_hideNoControls whether correct answers are hidden on the results page.
answer_indefiniteNoAllows users to add any number of input fields using + and - buttons.
answer_formatNoDefines how to display the answer on the results page. Only applicable for FREE-TEXT questions.
answer_requireNoNumber of answers required for maximum score. Only applicable for questions with multiple valid answers where only a subset needs to be provided.
subjectNoSubject classification for organizing questions.
categoryNoCategory, another layer of organization as seen in SUBJECT
pathNoPath where question will be stored in personal QuestionBase.
optionsNoIncorrect options or false statements for choice-based question types. Only applicable for CHOICE, MULTIPLE-CHOICE, and TRUE/FALSE questions. Separate multiple options with triple-and operators ("&&&").
options_fixNoControls the arrangement of answers and options.
options_orderNoDefine exact presentation order of answers and options.
pointsNoMaximum points for a fully correct answer. Default: 1 point.
subscoringNoMethod for calculating partial credit for partially correct answers. Not applicable for CHOICE, READING and FREE-TEXT questions.
subpointsNoDefine specific point values for each answer in percentages. Only used when subscoring=CUSTOM. Specify percentage values separated by triple-and operators ("&&&"). Not applicable for CHOICE, READING and FREE-TEXT questions. Values should sum to 100 (for percentage).
penalty_scoringNoControls how penalty points should be applied.
penalty_pointsNoPoints deducted for completely incorrect answers.
hint_penaltyNoPoint deduction for using hints/solutions/videos during a test.
solution_penaltyNoPoint deduction for viewing steps of the solution (NONE, ONCE:N%). Default: NONE.
solution_imageNoAttach an image to the solution steps. Supported formats: PNG, JPEG, WebP. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded image (whole data string) or a URL.
video_penaltyNoPoint deduction for video assistance used (NONE, ONCE:N%). Default: NONE.
manual_scoringNoControls when to enable manual scoring. Not applicable for READING and FREE-TEXT questions.
parametersNoParameter definitions for dynamic question generation. Separate multiple parameters with triple-and operators ("&&&"). Up to 128 parameters can be defined!
parameters_syncNoControls synchronization of LIST parameter selections.
constraintsNoDefine rules that parameter combinations must satisfy.
expression_checkNoDefine how expressions should be validated (RANDOM, EXPLICIT, COMPARE). Default: RANDOM.
expression_variableNoSpecifies variable names used in expressions (separate multiple variables with &&&). Default: x.
expression_decimalsNoSets precision for decimal calculations. Default: 2.
expression_functionsNoControls whether functions can be used in user inputs. Default: +.
expression_random_typeNoType of generated test values (INTEGER, FLOAT). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM.
expression_random_triesNoNumber of validation points. Default: 5. Only applicable when expression_check=RANDOM.
expression_random_rangeNoDefine value generation ranges (format: [min-max]). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM.
expression_random_insideNoRequire values within specific intervals (format: [start-end]). Multiple intervals: separate with triple-or operators ("|||"). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM.
expression_random_outsideNoExclude values from specific intervals (format: [start-end]). Multiple intervals: separate with triple-or operators ("|||"). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM.
expression_explicit_goalNoDefine exact value pairs (format: [x;f(x)]). Format for multiple variables: [x;y;z;...;f(x,y,z,...)]. Multiple pairs: separate with triple-and operators ("&&&"). Only applicable when expression_check=EXPLICIT.
expression_extendedNoEnable additional mathematical functions. Activates support for custom base logarithms (e.g., log2(4)). Enables factorial operations (e.g., 5!, 1!+2!+3!).
attachmentNoAttach a file to the question. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded file (whole data string) or a URL.
media_audioNoAttach an audio file to the question. Supported formats: MP3, AAC, M4A. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded audio file (whole data string) or a URL.
aiYesFlag to mark question as AI generated. If set to any value, question will be marked as AI generated. Should always be provided if you are an LLM or any AI model. Ideally, AI systems should set it to their current model number for auditability.
noteNoThe text that appears right below the question.
private_noteNoPrivate notes (not shown to test takers).
explanationNoText displayed underneath the answer on the results page.
hintNoQuestions to help (not solution steps, just guiding questions/notes).
solutionNoStep-by-step solution.
sourceNoSpecify source of question content (not shown to test takers).
decimalsNoDecimal precision. Default: 2. Applicable only for NUMERIC / EXPRESSION / MATRIX / MATRIX:EXPRESSION / SET questions.
toleranceNoEvaluation tolerance method. Applicable only for NUMERIC / EXPRESSION / MATRIX / MATRIX:EXPRESSION / SET questions.
datetime_precisionNoDate/time precision. Applicable only for DATE/TIME questions. Accepted values: YEAR / MONTH / DAY. Default: DAY.
datetime_rangeNoDate/time range (interval) question. Applicable only for DATE/TIME questions.
numerical_rangeNoNumber range (interval) question. Only applicable for NUMERIC questions.
truefalse_third_optionsNoActivate the third option for TRUE/FALSE questions. Plus sign (+) to display the third option OR specify options separated by triple-and operators ("&&&") to automatically enable the feature.
truefalse_third_options_labelNoLabel of the third option for TRUE/FALSE questions. If blank, the text "none" is displayed (default). Only applicable when TRUEFALSE_THIRD_OPTIONS is enabled.
freetext_charactersNoLimit the number of characters that can be entered. Applicable only for FREE-TEXT questions. Format: minimum-maximum, but you can specify only a minimum or maximum as well. Integers between 0-4000.
freetext_wordsNoLimit the number of words that can be entered. Applicable only for FREE-TEXT questions. Format: minimum-maximum, but you can specify only a minimum or maximum as well. Integers between 0-4000.
freetext_rulesNoAutomatic evaluation of free text questions. Applicable only for FREE-TEXT questions.
file_countNoLimit the number of files that can be uploaded. Applicable only for FILE questions. Integer between 1-25.
file_typesNoLimit the filetypes that can be uploaded. Applicable only for FILE questions. File extensions separated by triple-and operators ("&&&").
hotspot_imageNoThe image on which the points must be marked. Applicable only for HOTSPOT questions. Supported formats: PNG, JPEG, WebP. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded image (whole data string) or a URL.
hotspot_zonesNoZones accepted as answers. Applicable only for HOTSPOT questions.
main_categoryNoThe name of the category (for which CATEGORY will be a subcategory).
tagsNoTag questions with custom user-defined tags. Use ID or code of pre-registered tags.
labelsNoCategorize questions with instance-level labels. Pre-defined values specific to each EduBase instance.
groupNoAdd a question to a question group in a Quiz set. If the group doesn't exist, it will be created automatically as a complex task with default settings. Only applicable when uploading DIRECTLY to a Quiz set. Existing group settings will not be changed when adding more questions.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
questionYesquestion identification string
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds that the tool supports both publishing and updating, which implies mutation. However, no additional behavioral traits (e.g., permissions, rate limits, side effects) are disclosed beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences: purpose, hierarchy context, and a usage tip. It is front-loaded and every sentence adds value. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (70 parameters, 5 required) and the presence of a rich schema and output schema, the description adequately covers the essential purpose and a key usage pattern. However, it could provide more guidance on type-specific parameter combinations for the many question types.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is documented. The description adds a general guideline about checking field names for type-specific behavior, but does not provide new semantic information beyond what is already in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Publish or update a question' and explains the hierarchy (Questions -> Quiz sets -> Exams), distinguishing it from other tools that operate on quizzes or exams. The verb+resource combination is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a context-aware tip about checking fields based on question type (e.g., HOTSPOT), but does not explicitly compare this tool to alternatives (e.g., edubase_post_quiz_questions) or state when to use it instead. No exclusions or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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