Skip to main content
Glama

ClassMarker MCP by usefulapi

Update a question

classmarker_update_question
DestructiveIdempotent

WRITE (overwrites): replace an existing question-bank question. Send the COMPLETE question (type, text, options, correct options, points, feedback), not only the changed fields; read it first with classmarker_get_question. Only multiplechoice, multipleresponse, truefalse and essay questions can be updated. Counts as one of ClassMarker's 30 requests per hour per API key. API: PUT /v1/questions/{question_id}.json.

Input Schema

NameRequiredDescriptionDefault
pointsNoPoints for a correct answer (for an essay: the maximum score).
optionsNoAnswer options keyed by letter A-J (up to 10), e.g. {"A": "Apply oil", "B": "Soak in water"}. Needed for multiplechoice and multipleresponse; not allowed for truefalse and essay.
questionYesThe question text.
category_idNoCategory id (from classmarker_list_categories).
grade_styleNomultipleresponse only: partial credit with or without deduction, or off (all-or-nothing).
question_idYesThe question id (from classmarker_list_questions).
question_typeYesmultiplechoice (one correct option), multipleresponse (one or more), truefalse, or essay (graded by hand). Free text, grammar and matching cannot be written.
random_answersNoShuffle the order of the options for each test-taker (multiplechoice / multipleresponse).
correct_optionsNoLetters of the correct options, e.g. ["C"]. multiplechoice: exactly one; multipleresponse: one or more; truefalse: ["A"] (True) or ["B"] (False); not allowed for essay.
correct_feedbackNoFeedback shown for a correct answer.
incorrect_feedbackNoFeedback shown for an incorrect answer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=true, but the description goes further: it explains the full-replace overwrite semantics, the supported-type restriction, and a concrete rate limit (30 requests/hour per API key). That is meaningful behavioral context beyond the structured hints.

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?

Front-loads the operation type and mutate semantics in the first clause, then adds prerequisites, constraints and rate limits in a tight sequence. No sentence is filler; everything is actionable.

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

Completeness5/5

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

For a destructive mutation tool with no output schema, the description covers overwrite behavior, the read-before-write prerequisite, allowed types and rate limits. There is no ambiguity an agent would need resolved before calling it.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description lifts it by enumerating the fields that make up the 'COMPLETE question' (type, text, options, correct options, points, feedback), reinforcing which parameters are semantically mandatory in a full-replace call rather than merely schema-optional.

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?

States a specific verb and resource ('replace an existing question-bank question') and immediately flags the operation as a WRITE that overwrites. This cleanly separates it from classmarker_create_question, classmarker_get_question and classmarker_list_questions without requiring the agent to open another schema.

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

Usage Guidelines5/5

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

Explicitly tells the agent to read the question first with classmarker_get_question, to send the COMPLETE question rather than a patch, and which question types are updatable. These are concrete when-to-use and prerequisite rules rather than inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.