Skip to main content
Glama

Submit a mock exam

submit_mock_exam
DestructiveIdempotent

Submit a timed set from start_mock_exam and get the score report: total, whether it reached the target, score per topic, and the missed problems with worked solutions and sources. Without answers, the draft saved with save_mock_answers is submitted. With answers, they are letters in problem order, one per problem; use an empty string for a skipped problem. Skipped problems count as wrong. Submitting is final (marked destructive for that reason): the set closes and its answers can't be changed afterwards, so ask the learner once before calling it. A set submitted after its deadline is still scored and marked late. Side effects: closes the timed set, records the answers into the learner's progress for that grade (a crew supervisor the learner joined sees them in practice stats) and adds a usage record. Safe to retry: submitting the same set again returns the stored result and records nothing more.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "mockExamId": "<mockExamId>"
    },
    "name": "submit_mock_exam"
  }
}

Input Schema

NameRequiredDescriptionDefault
answersNoOne letter per problem in order, e.g. ["A", "C", ""]; leave out to submit the saved draft
mockExamIdYesThe id returned by start_mock_exam

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, and the description adds real substance on top: what closing the set means (answers frozen), late-submission handling, the progress/crew-supervisor/usage-record side effects, and retry semantics that return the stored result without new records. This goes well beyond the annotation flags, though it could still say what error surfaces if the set was never started or already finalized.

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?

Purpose and return payload are front-loaded, followed by parameter modes, then finality/warning, then side effects and retry. Every sentence carries decision-relevant information; nothing is redundant with the title or annotations.

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?

With no output schema, the description correctly compensates by enumerating the score report fields (total, target reached, per-topic, missed problems with solutions and sources). The mutation's consequences are fully covered; only edge-case failure modes are unaddressed.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline would be 3, but the description adds genuine meaning beyond it: letters map to problems in order, an empty string marks a skip, and — crucially — skipped problems count as wrong, a scoring consequence absent from the schema. The default behavior when `answers` is omitted is also spelled out.

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 opens with a specific verb and resource ('Submit a timed set from start_mock_exam') and immediately specifies the returned report contents, making it distinguishable from save_mock_answers and start_mock_exam by naming both as the source of its input.

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?

It explicitly covers both invocation modes: omit `answers` to submit the draft saved via save_mock_answers, include `answers` to submit fresh letters. It also states the confirmation policy ('ask the learner once before calling it'), which is exactly the when-to-use guidance an agent needs for a final action.

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.

Resources