Zovo GPA Calc
Server Details
A GPA calculator for high school and college students that shows its work.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool maps to a distinct question type: computing a GPA from grades, finding the score needed on a final exam, and finding the GPA needed on future credits to hit a target. The descriptions explicitly hand off between tools (e.g. 'Does not calculate GPA (use calculate_gpa)'), leaving no realistic path to misselection.
All names are snake_case and readable, and two of three follow a verb_noun shape (calculate_gpa, plan_target_gpa). final_grade_needed is a noun phrase rather than a verb, a minor deviation from the otherwise predictable pattern.
Three tightly scoped tools for a narrow GPA/grade-math domain, each covering a genuinely different user intent. No filler tools and no bloat; the count matches the surface area exactly.
The core lifecycle is covered: compute a GPA, work backwards from a course/term target, and plan future terms, with explicit statements of non-goals (transcripts, country conversions, admissions). Minor gaps remain, such as multi-term projections with changing credit loads or per-course 'needed on remaining assignments' scenarios beyond a single final.
Available Tools
3 toolscalculate_gpaCalculate GPAARead-onlyIdempotentInspect
Use this when the user wants to calculate their GPA (gpa calculator, gpa calculator college, gpa calculator high school, weighted gpa calculator, gpa calculator cumulative, gpa calculator with current gpa, gpa calculator from percentage, how to calculate gpa with credit hours or letter grades). Takes courses with letter grades (A+ to F), percentages, or P/NP/W, plus credits and level (regular, honors, AP, IB, dual enrollment). Returns exact unweighted and weighted GPA (2 and 3 decimals), cumulative GPA when previous GPA and credits are given, a quality points table, grade distribution, and the single course whose one-letter improvement raises the GPA most. Standard 4.0 scale by default; A+ value, weights, percent cutoffs, and letter points are adjustable because schools differ. Does not read transcripts, convert between countries' grading systems, or predict admissions.
| Name | Required | Description | Default |
|---|---|---|---|
| courses | Yes | The courses for this term, e.g. [{"name":"Biology","grade":"A","credits":4},{"name":"Calculus","grade":"B+","credits":3}]. | |
| weights | No | Weighted-GPA bonus points by course level, e.g. {"honors":0.5,"ap":1}. Omit for the common defaults. | |
| grade_points | No | Override points for specific letters if the school's scale differs, e.g. {"A-":3.67,"B+":3.33}. | |
| previous_gpa | No | Cumulative GPA already on the transcript, for a cumulative result, e.g. 3.2. | |
| a_plus_points | No | Grade points for an A+: 4.0 (default, standard 4.0 scale) or 4.3 if the school awards 4.3. | |
| percent_cutoffs | No | Minimum percent for each passing letter, used to convert percentage grades, e.g. {"A":90,"B":80,"C":70,"D":60}. Below the lowest cutoff is F. Default: A+ 97, A 93, A- 90, B+ 87, B 83, B- 80, C+ 77, C 73, C- 70, D+ 67, D 63, D- 60. | |
| previous_credits | No | Credit hours behind previous_gpa, e.g. 45. | |
| previous_gpa_type | No | Whether previous_gpa is unweighted (default) or weighted; the cumulative GPA uses the same basis. |
Output Schema
| Name | Required | Description |
|---|---|---|
| scale | Yes | |
| courses | Yes | |
| summary | Yes | |
| what_if | Yes | |
| semester | Yes | |
| settings | Yes | |
| cumulative | Yes | |
| distribution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered; the description adds substantive context beyond that: the 4.0-scale default, that A+ value, weights and percent cutoffs are adjustable because schools differ, and what is returned (unweighted and weighted GPA, cumulative, quality points table, grade distribution, highest-leverage course).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and useful, but the long parenthetical query-keyword list ('gpa calculator, gpa calculator college, gpa calculator high school, weighted gpa calculator...') is SEO padding that adds no information for an agent and inflates the definition. Size is defensible for an 8-parameter tool, but that clause does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, nested-object tool with an output schema and annotations, the description covers inputs, defaults, adjustability, return contents, and scope exclusions. An agent has everything needed to invoke it correctly without consulting other sources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description genuinely adds semantics the schema does not: it explains how grade strings are interpreted across formats, that cumulative GPA requires previous_gpa together with credits, and that the weighting/percent-cutoff defaults are configurable. It stops short of explaining interaction rules such as what happens if previous_credits is omitted with previous_gpa.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('calculate their GPA') and enumerates the exact input forms it handles (letter grades A+ to F, percentages, P/NP/W, credits, level), so an agent can immediately tell this apart from final_grade_needed or plan_target_gpa.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit trigger ('Use this when the user wants to calculate their GPA') and closes with a clear when-not list: no transcript reading, no international grade conversion, no admissions prediction. It does not name the sibling tools as alternatives, so routing between calculate_gpa, final_grade_needed and plan_target_gpa still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
final_grade_neededFinal exam grade neededARead-onlyIdempotentInspect
Use this when the user asks what score they need on a final exam to get a course grade ("I have an 85 and the final is 20%, what do I need for a 90"). Takes the current course grade %, the final exam weight %, and the desired course grade %; returns the score needed on the final, flags when it is impossible (above 100%, or above the max with extra credit) or already secured (any score works), the highest and lowest possible course grades, and the score needed for an A, B, C, or D (90/80/70/60). Assumes the current grade covers the rest of the course weight. Does not calculate GPA (use calculate_gpa) and does not handle point-based gradebooks with unknown category weights.
| Name | Required | Description | Default |
|---|---|---|---|
| final_weight_pct | Yes | How much the final exam counts toward the course grade, as a percent greater than 0, e.g. 20. | |
| target_grade_pct | Yes | Course grade wanted after the final, as a percent, e.g. 90. | |
| current_grade_pct | Yes | Current course grade before the final, as a percent, e.g. 85. | |
| max_final_score_pct | No | Highest possible score on the final, default 100. Raise it only if the final has extra credit, e.g. 105. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| summary | Yes | |
| possible | Yes | |
| letter_targets | Yes | |
| final_weight_pct | Yes | |
| needed_score_pct | Yes | |
| target_grade_pct | Yes | |
| current_grade_pct | Yes | |
| grade_if_zero_pct | Yes | |
| needed_score_exact | Yes | |
| max_final_score_pct | Yes | |
| best_possible_grade_pct | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations by disclosing the full return payload: score needed, flags for impossible (>100% or above extra-credit max) and already-secured cases, highest/lowest possible course grades, and the A/B/C/D thresholds. It also states the modeling assumption that the current grade covers the remaining course weight, which an agent needs to trust the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the trigger and the user-question example, then semantics, then exclusions. It is a dense single paragraph with only a slightly long return-value enumeration, but every sentence carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description usefully previews return behavior and edge-case flags, and covers the assumption underlying the math plus the exclusions that prevent misuse. Nothing needed to select or invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description adds value by naming the calculated meanings (current grade %, final weight %, desired grade %) and clarifying the extra-credit ceiling behavior tied to max_final_score_pct. It does not add format or default detail beyond the schema, so not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (compute the score needed on a final exam for a target course grade) and is anchored by a concrete worked example of the user question it answers. It is clearly distinct from the GPA siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger condition is given ('when the user asks what score they need on a final exam...'), plus explicit exclusions that route to siblings: 'Does not calculate GPA (use calculate_gpa)' and 'does not handle point-based gradebooks with unknown category weights.' This is a clean when/when-not/alternative set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_target_gpaPlan target GPAARead-onlyIdempotentInspect
Use this when the user asks what GPA they need next semester or term to reach a target cumulative GPA (e.g. "what GPA do I need to raise my 3.2 to a 3.5", gpa calculator with current gpa). Takes current GPA, credits completed, target GPA, and upcoming credits; returns the exact GPA required on the upcoming credits, whether that is possible on the scale (and clearly says when it is impossible because it exceeds the maximum), the highest cumulative GPA reachable this term, the credits a target would take at straight A's, and the requirement for longer horizons. Does not calculate a GPA from individual grades (use calculate_gpa) and does not judge admissions chances.
| Name | Required | Description | Default |
|---|---|---|---|
| max_gpa | No | Top of the scale, default 4.0. Use 4.3 if A+ = 4.3, or 5.0 for a weighted high school scale. | |
| target_gpa | Yes | Cumulative GPA the student wants to reach, e.g. 3.5. | |
| current_gpa | Yes | Current cumulative GPA, e.g. 3.2. | |
| upcoming_credits | Yes | Credit hours in the upcoming term(s), greater than 0, e.g. 15. | |
| credits_completed | Yes | Credit hours already counted in current_gpa, e.g. 60. Use 0 for a first term. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| max_gpa | Yes | |
| summary | Yes | |
| possible | Yes | |
| scenarios | Yes | |
| target_gpa | Yes | |
| current_gpa | Yes | |
| required_gpa | Yes | |
| upcoming_credits | Yes | |
| credits_completed | Yes | |
| letter_equivalent | Yes | |
| max_achievable_gpa | Yes | |
| min_achievable_gpa | Yes | |
| required_gpa_exact | Yes | |
| credits_needed_at_max | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description still adds real behavioral context by saying the tool detects infeasibility and reports it explicitly, plus the alternative outputs (max reachable GPA, credits needed at straight A's, longer horizons). It repeats some return-value content that the output schema already declares, so it is slightly redundant rather than maximally additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the trigger condition, then outputs, then exclusions โ a sensible order with no filler sentences. The long chained clause listing every return value plus the keyword-style parenthetical ('gpa calculator with current gpa') costs it a point on tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter read-only computation with a full output schema, the description covers trigger, inputs, output scope, infeasibility handling, and sibling boundaries. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, including the non-obvious max_gpa scale variation and the 'use 0 for a first term' hint on credits_completed, so the schema carries the load. The description only names the four required inputs in passing without adding format or edge-case semantics beyond what the schema says; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (compute the GPA required on upcoming credits to hit a target cumulative GPA) and anchors it to the user phrasing that should trigger it. It explicitly separates itself from calculate_gpa, and the subject matter makes it distinguishable from final_grade_needed as well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use condition ('user asks what GPA they need next semester to reach a target cumulative GPA') with example phrasings, plus an explicit exclusion routing to calculate_gpa and a statement that admissions-chance judgment is out of scope. When/when-not/alternative are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
calculate_gpa - First observed
final_grade_needed - First observed
plan_target_gpa
Related MCP Connectors
Grades from questions wrong, final exam score needed, weighted grades, GPA, SAT/ACT/MCAT scores.
Study planner for high school students. Manage tasks, deadlines, and schedules.
College-access writing and financial-aid analysis tools for counselors, students, and families.
69 free finance, military, school and everyday calculators as MCP tools.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI apps to compute GPAs from courses and credits, convert between letter and percentage grades, determine the score needed on a final exam, analyze weighted course grades, and plan the GPA required for a target cumulative result.7104 npmMIT
- FlicenseNot gradedqualityCmaintenanceExposes academic advising tools over stdio so an AI assistant can retrieve student profiles, transcripts, and curricula, check graduation requirements and requirement groups, calculate current and planned GPAs, and recommend retakes, courses, study plans, and career-to-specialization matches. All computations run deterministically in Python and return UNKNOWN rather than guessing when verified academic thresholds are missing.-
- FlicenseAqualityDmaintenanceEnables natural language queries about grades, GPA, attendance, and schedules by connecting Claude to StudentVue school dashboards. Includes analytical tools for grade simulation, what-if scenarios, and academic performance tracking based on live school data.19-
- FlicenseAqualityDmaintenanceProvides calculator tools, resources, and prompts for basic arithmetic operations via NitroStack.6-
Glama MCP Gateway
Add one secure layer between your agents and this server.