Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

Calculate Gpa

calculate_gpa
Read-onlyIdempotent

Calculate your GPA on a 4.0 scale from your current Canvas grades, weighted by credit hours. Read-only. Uses the letter grade Canvas shows, or converts the percent (93+ A, 90 A-, 87 B+ and so on).

Instructions

Calculate your GPA on a 4.0 scale from your current Canvas grades, weighted by credit hours. Read-only. Uses the letter grade Canvas shows, or converts the percent (93+ A, 90 A-, 87 B+ and so on). Supports what-if grades and extra points for honors or AP classes. Pass-fail courses are listed as excluded.

Input Schema

NameRequiredDescriptionDefault
creditsNoCredit hours per course, keyed by course ID, name or code, e.g. {"Calculus I": 4, "ENG101": 3}. Courses not listed use default_credits.
what_ifNoPretend grades, keyed by course ID, name or code. Each value is a letter ("B+") or a percent (88), e.g. {"Chemistry": "A-"}.
extra_pointsNoExtra grade points for weighted GPA, keyed like credits, e.g. {"AP Biology": 1, "Honors English": 0.5}. Leave empty for an unweighted GPA.
default_creditsNoCredit hours for courses not in credits. Default 3.
use_final_scoreNoTrue to use the final score, which counts missing work as zero, instead of the current score. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavior beyond that: grade-letter-vs-percent resolution with a conversion scale, honors/AP extra points, and the explicit exclusion of pass-fail courses.

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?

Four short sentences, front-loaded with the core action and scale. The conversion parenthetical is slightly dense but each sentence carries information; nothing is redundant padding.

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?

For a 5-parameter tool with nested objects, the description covers inputs, weighting, exclusions, and what-if support adequately. The one gap is that with no output schema, it never states the return shape (a single GPA number, per-course breakdown, both), leaving that to inference.

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 earns above baseline by explaining behavior the schema does not encode: the percent-to-letter mapping (93+ A, 90 A-), that pass-fail is excluded, and that extra points produce a weighted GPA.

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: 'Calculate your GPA on a 4.0 scale from your current Canvas grades, weighted by credit hours.' This is clearly distinct from get_all_grades (retrieval) and what_if_grade (per-course simulation), though the description never names those siblings to route explicitly.

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

Usage Guidelines3/5

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

Usage is implied rather than prescribed. The description mentions 'supports what-if grades,' which overlaps with the sibling what_if_grade tool, but gives no guidance on when to prefer this aggregate calculation over that per-course tool, nor on prerequisites such as whether grades must be published.

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