Skip to main content
Glama

PLATO MCP

process_quiz_attempt

Destructive

Submit answers for a quiz attempt. IRREVERSIBLE once dry_run=False AND finish_attempt=True -- that is the final, graded submission and cannot be undone. UNVERIFIED against a real quiz.

    Call with dry_run=True (default) first, show the preview to the
    user -- especially before finish_attempt=True -- and only call
    again with dry_run=False after they explicitly confirm.
    

Input Schema

NameRequiredDescriptionDefault
dry_runNoIf True (default), only preview without doing it. Call again with dry_run=False (same parameters) to actually submit it.
responsesYesMoodle question-form field name -> answer value, parsed from get_quiz_attempt_data's returned HTML.
attempt_idYesAttempt id, e.g. from start_quiz_attempt.
finish_attemptNoIf True, this is the FINAL submission -- the attempt is locked and graded. If False, this just records answers for the current page.

Output Schema

NameRequiredDescriptionDefault
dry_runYes
messageYes
previewYes
executedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the destructive annotation, it explains that the operation is irreversible only when `dry_run=False` AND `finish_attempt=True`, that the attempt becomes final and graded, and that it is unverified against a real quiz. This adds important behavioral context and safety workflow that the annotations alone do not 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 front-loaded with the core action and irreversibility warning, then gives the safe workflow. Every sentence contributes necessary safety or usage information, with no wasted text.

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, non-idempotent quiz submission tool, the description covers the critical risks, confirmation workflow, and unverified status. An output schema exists and the input schema is fully described, so no further return-value explanation is needed.

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 adds value by clarifying the combined effect of `dry_run` and `finish_attempt` and by reinforcing the preview-then-submit workflow with the same parameters, though it does not expand on `responses` beyond the schema.

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?

The description clearly states the specific action: submitting answers for a quiz attempt. It does not explicitly distinguish this tool from the sibling `save_quiz_attempt_responses`, so sibling differentiation is missing, but the purpose itself is unambiguous.

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?

It gives explicit usage guidance: start with `dry_run=True`, show the preview to the user, and only call again with `dry_run=False` after explicit confirmation, especially before `finish_attempt=True`. It does not name alternative tools such as `save_quiz_attempt_responses`, so it falls short of full when/when-not/alternatives coverage.

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.