Skip to main content
Glama

Calculate Grade Scenarios

calculate_grade_scenarios
Read-only

Recompute course grades, test what-if assignment scores, and calculate the percentage needed on remaining work to reach a target grade without changing Canvas.

Instructions

Recompute your course grade, try what-if scores, and find what you need on remaining work.

Reproduces Canvas's grade arithmetic (weighted or total-points groups, drop lowest/highest and never-drop rules, excused and omitted assignments, ungraded work excluded, groups with nothing graded left out) and shows it next to Canvas's own current score, flagging any disagreement. Optionally applies what-if scores, and reports the single percentage you would need on every remaining ungraded assignment to reach a target. Letters use the course's grading scheme when your token can read it, else Canvas's default scheme; the output says which. Nothing is changed in Canvas.

Input Schema

NameRequiredDescriptionDefault
target_letterNoOptional target letter, e.g. "A-" (from the scheme in use). Give target_percent or target_letter, not both.
target_percentNoOptional target course percentage (0-200)
course_identifierYesCourse code or Canvas ID
hypothetical_scoresNoOptional what-if points by assignment ID, e.g. {"12345": 18, "12346": 9.5}. Points, not percentages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.15.0

TDQS

A4.1/5.0
Behavior5/5

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

The description discloses rich behavioral details beyond the readOnlyHint annotation: it reproduces Canvas grade arithmetic, handles drop rules and excused/omitted work, compares against Canvas's own score, flags disagreements, applies hypothetical scores, computes target percentages, and notes which grading scheme is used. It also explicitly states 'Nothing is changed in Canvas,' which is consistent with readOnlyHint=true.

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?

The description is dense but front-loaded with the primary purpose. It remains focused on relevant behavior, though the parenthetical list of grade-arithmetic rules makes it longer than strictly necessary.

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?

Given the tool's complexity, the description is complete: it explains the grading logic, optional what-if behavior, target calculation, grading-scheme handling, and the read-only nature. With no output schema, it adequately describes what the output includes and how discrepancies are surfaced.

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 the schema already documents all four parameters thoroughly. The description reinforces concepts like what-if scores and target calculation but does not add parameter-level semantics such as formats or constraints beyond what the schema provides.

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 uses a specific verb and resource: 'Recompute your course grade, try what-if scores, and find what you need on remaining work.' It clearly describes scenario calculation rather than simple grade retrieval, but it does not explicitly name or distinguish itself from siblings such as get_my_course_grades.

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?

The description gives clear usage context: recomputing grades, trying what-if scores, and calculating the percentage needed on remaining work. It does not state when not to use the tool or explicitly point to alternatives, but the intended use cases are clear.

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

Deploy Server

Other Tools