Skip to main content
Glama

get_quiz_attempt_data

Read-only

Retrieves one page of questions from an in-progress quiz attempt, including rendered HTML, so you can parse answer-field names before saving or processing responses.

Instructions

Get the questions for one page of an in-progress quiz attempt. Each question's html is Moodle's own rendered question form -- parse it for the actual answer-field names before calling save_quiz_attempt_responses/process_quiz_attempt. UNVERIFIED against a real quiz.

Input Schema

NameRequiredDescriptionDefault
pageNoQuiz page number, 0-indexed.
attempt_idYesAttempt id, e.g. from start_quiz_attempt.

Output Schema

NameRequiredDescriptionDefault
nextpageNo
questionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds genuinely useful behavioral context beyond them: the html field is Moodle's own rendered form (not structured data) and the tool is UNVERIFIED against a real quiz, which tells the agent to distrust/verify output. Missing details like pagination termination are minor since an output schema exists.

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

Conciseness4/5

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

Three short sentences, each earning its place, with the core purpose front-loaded. The line-wrapping is slightly fragmented but no content is wasted.

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?

An output schema exists, so return shape needn't be explained, and the description covers the one non-obvious thing the agent must know about the output (html needs parsing) plus a reliability caveat. Adequate for a two-parameter read tool.

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 coverage is 100%, so both attempt_id and page are fully documented in the schema. The description reinforces the paging concept ('one page of an in-progress quiz attempt') but adds no syntax or format detail beyond that. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: retrieves the questions for one page of an in-progress quiz attempt. This is clearly distinct from siblings like get_quiz_attempt_summary or get_quiz_attempt_review, though those alternatives are not named explicitly.

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

Usage Guidelines4/5

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

Gives actionable workflow context: the returned html must be parsed for answer-field names before calling save_quiz_attempt_responses or process_quiz_attempt, naming the exact downstream tools. It does not, however, contrast with get_quiz_attempt_summary/review to help the agent choose between read variants.

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