Zovo GPA Calc

A GPA calculator for high school and college students that shows its work.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
100%
命名品質
87%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,923Token(工具定義)
~8.9 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.28%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "gpa-calculator": {
      "url": "https://gpa-calculator.zovo.one/mcp"
    }
  }
}

遠端端點

https://gpa-calculator.zovo.one/mcpstreamable-http

它能做什麼

工具清單

工具(3)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢calculate_gpa(courses, a_plus_points, weights, percent_cutoffs, grade_points, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "courses": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "description": "Course name, e.g. \"AP Biology\" or \"Calculus I\".",
            "type": "string",
            "maxLength": 80
          },
          "grade": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 12
              },
              {
                "type": "number"
              }
            ],
            "description": "Letter grade A+ to F (e.g. \"B+\"), a percentage (e.g. \"91%\" or 91), grade points on the 4.0 scale (e.g. 3.7 = A-; a bare number up to 4.0, or 4.3 when A+ = 4.3, is read as grade points), or P / NP / W / I for courses that do not count in the GPA."
          },
          "credits": {
            "type": "number",
            "description": "Credit hours or units for the course, greater than 0, e.g. 3 (college) or 1 (a year-long high school class)."
          },
          "level": {
            "description": "Course level for the weighted GPA: regular (default), honors, ap, ib, or dual (dual enrollment).",
            "type": "string",
            "enum": [
              "regular",
              "honors",
              "ap",
              "ib",
              "dual"
            ]
          }
        },
        "required": [
          "grade",
          "credits"
        ]
      },
      "description": "The courses for this term, e.g. [{\"name\":\"Biology\",\"grade\":\"A\",\"credits\":4},{\"name\":\"Calculus\",\"grade\":\"B+\",\"credits\":3}]."
    },
    "a_plus_points": {
      "description": "Grade points for an A+: 4.0 (default, standard 4.0 scale) or 4.3 if the school awards 4.3.",
      "type": "number"
    },
    "weights": {
      "description": "Weighted-GPA bonus points by course level, e.g. {\"honors\":0.5,\"ap\":1}. Omit for the common defaults.",
      "type": "object",
      "properties": {
        "honors": {
          "description": "Bonus for honors courses, default 0.5.",
          "type": "number"
        },
        "ap": {
          "description": "Bonus for AP courses, default 1.0.",
          "type": "number"
        },
        "ib": {
          "description": "Bonus for IB courses, default 1.0.",
          "type": "number"
        },
        "dual": {
          "description": "Bonus for dual-enrollment courses, default 1.0.",
          "type": "number"
        }
      }
    },
    "percent_cutoffs": {
      "description": "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.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "number"
      }
    },
    "grade_points": {
      "description": "Override points for specific letters if the school's scale differs, e.g. {\"A-\":3.67,\"B+\":3.33}.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "number"
      }
    },
    "previous_gpa": {
      "description": "Cumulative GPA already on the transcript, for a cumulative result, e.g. 3.2.",
      "type": "number"
    },
    "previous_credits": {
      "description": "Credit hours behind previous_gpa, e.g. 45.",
      "type": "number"
    },
    "previous_gpa_type": {
      "description": "Whether previous_gpa is unweighted (default) or weighted; the cumulative GPA uses the same basis.",
      "type": "string",
      "enum": [
        "unweighted",
        "weighted"
      ]
    }
  },
  "required": [
    "courses"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string"
    },
    "scale": {
      "type": "string"
    },
    "courses": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "grade_input": {
            "type": "string"
          },
          "letter": {
            "type": [
              "string",
              "null"
            ]
          },
          "percent": {
            "type": [
              "number",
              "null"
            ]
          },
          "credits": {
            "type": "number"
          },
          "level": {
            "type": "string"
          },
          "counted": {
            "type": "boolean"
          },
          "points": {
            "type": [
              "number",
              "null"
            ]
          },
          "weighted_points": {
            "type": [
              "number",
              "null"
            ]
          },
          "quality_points": {
            "type": [
              "number",
              "null"
            ]
          },
          "weighted_quality_points": {
            "type": [
              "number",
              "null"
            ]
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "grade_input",
          "letter",
          "percent",
          "credits",
          "level",
          "counted",
          "points",
          "weighted_points",
          "quality_points",
          "weighted_quality_points",
          "note"
        ],
        "additionalProperties": false
      }
    },
    "semester": {
      "type": "object",
      "properties": {
        "unweighted_gpa": {
          "type": "number"
        },
        "unweighted_gpa_3dp": {
          "type": "number"
        },
        "weighted_gpa": {
          "type": "number"
        },
        "weighted_gpa_3dp": {
          "type": "number"
        },
        "gpa_credits": {
          "type": "number"
        },
        "excluded_credits": {
          "type": "number"
        },
        "quality_points": {
          "type": "number"
        },
        "weighted_quality_points": {
          "type": "number"
        },
        "has_weighted_courses": {
          "type": "boolean"
        }
      },
      "required": [
        "unweighted_gpa",
        "unweighted_gpa_3dp",
        "weighted_gpa",
        "weighted_gpa_3dp",
        "gpa_credits",
        "excluded_credits",
        "quality_points",
        "weighted_quality_points",
        "has_weighted_courses"
      ],
      "additionalProperties": false
    },
    "cumulative": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "gpa": {
              "type": "number"
            },
            "gpa_3dp": {
              "type": "number"
            },
            "basis": {
              "type": "string"
            },
            "previous_gpa": {
              "type": "number"
            },
            "previous_credits": {
              "type": "number"
            },
            "total_credits": {
              "type": "number"
            }
          },
          "required": [
            "gpa",
            "gpa_3dp",
            "basis",
            "previous_gpa",
            "previous_credits",
            "total_credits"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "what_if": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "course": {
              "type": "string"
            },
            "from": {
              "type": "string"
            },
            "to": {
              "type": "string"
            },
            "credits": {
              "type": "number"
            },
            "gpa_gain": {
              "type": "number"
            },
            "new_gpa": {
              "type": "number"
            },
            "new_cumulative_gpa": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "course",
            "from",
            "to",
            "credits",
            "gpa_gain",
            "new_gpa",
            "new_cumulative_gpa"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "distribution": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string"
          },
          "credits": {
            "type": "number"
          },
          "share_pct": {
            "type": "number"
          }
        },
        "required": [
          "group",
          "credits",
          "share_pct"
        ],
        "additionalProperties": false
      }
    },
    "settings": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "summary",
    "scale",
    "courses",
    "semester",
    "cumulative",
    "what_if",
    "distribution",
    "settings"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢plan_target_gpa(current_gpa, credits_completed, target_gpa, upcoming_credits, max_gpa)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "current_gpa": {
      "type": "number",
      "description": "Current cumulative GPA, e.g. 3.2."
    },
    "credits_completed": {
      "type": "number",
      "description": "Credit hours already counted in current_gpa, e.g. 60. Use 0 for a first term."
    },
    "target_gpa": {
      "type": "number",
      "description": "Cumulative GPA the student wants to reach, e.g. 3.5."
    },
    "upcoming_credits": {
      "type": "number",
      "description": "Credit hours in the upcoming term(s), greater than 0, e.g. 15."
    },
    "max_gpa": {
      "description": "Top of the scale, default 4.0. Use 4.3 if A+ = 4.3, or 5.0 for a weighted high school scale.",
      "type": "number"
    }
  },
  "required": [
    "current_gpa",
    "credits_completed",
    "target_gpa",
    "upcoming_credits"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string"
    },
    "current_gpa": {
      "type": "number"
    },
    "credits_completed": {
      "type": "number"
    },
    "target_gpa": {
      "type": "number"
    },
    "upcoming_credits": {
      "type": "number"
    },
    "max_gpa": {
      "type": "number"
    },
    "status": {
      "type": "string",
      "enum": [
        "possible",
        "impossible",
        "already_secured"
      ]
    },
    "possible": {
      "type": "boolean"
    },
    "required_gpa": {
      "type": "number"
    },
    "required_gpa_exact": {
      "type": "number"
    },
    "letter_equivalent": {
      "type": [
        "string",
        "null"
      ]
    },
    "max_achievable_gpa": {
      "type": "number"
    },
    "min_achievable_gpa": {
      "type": "number"
    },
    "credits_needed_at_max": {
      "type": [
        "number",
        "null"
      ]
    },
    "scenarios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "upcoming_credits": {
            "type": "number"
          },
          "required_gpa": {
            "type": "number"
          },
          "possible": {
            "type": "boolean"
          }
        },
        "required": [
          "upcoming_credits",
          "required_gpa",
          "possible"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "summary",
    "current_gpa",
    "credits_completed",
    "target_gpa",
    "upcoming_credits",
    "max_gpa",
    "status",
    "possible",
    "required_gpa",
    "required_gpa_exact",
    "letter_equivalent",
    "max_achievable_gpa",
    "min_achievable_gpa",
    "credits_needed_at_max",
    "scenarios"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢final_grade_needed(current_grade_pct, final_weight_pct, target_grade_pct, max_final_score_pct)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "current_grade_pct": {
      "type": "number",
      "description": "Current course grade before the final, as a percent, e.g. 85."
    },
    "final_weight_pct": {
      "type": "number",
      "description": "How much the final exam counts toward the course grade, as a percent greater than 0, e.g. 20."
    },
    "target_grade_pct": {
      "type": "number",
      "description": "Course grade wanted after the final, as a percent, e.g. 90."
    },
    "max_final_score_pct": {
      "description": "Highest possible score on the final, default 100. Raise it only if the final has extra credit, e.g. 105.",
      "type": "number"
    }
  },
  "required": [
    "current_grade_pct",
    "final_weight_pct",
    "target_grade_pct"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string"
    },
    "current_grade_pct": {
      "type": "number"
    },
    "final_weight_pct": {
      "type": "number"
    },
    "target_grade_pct": {
      "type": "number"
    },
    "max_final_score_pct": {
      "type": "number"
    },
    "needed_score_pct": {
      "type": "number"
    },
    "needed_score_exact": {
      "type": "number"
    },
    "status": {
      "type": "string",
      "enum": [
        "possible",
        "impossible",
        "already_secured"
      ]
    },
    "possible": {
      "type": "boolean"
    },
    "best_possible_grade_pct": {
      "type": "number"
    },
    "grade_if_zero_pct": {
      "type": "number"
    },
    "letter_targets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "letter": {
            "type": "string"
          },
          "min_grade_pct": {
            "type": "number"
          },
          "needed_score_pct": {
            "type": "number"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "letter",
          "min_grade_pct",
          "needed_score_pct",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "summary",
    "current_grade_pct",
    "final_weight_pct",
    "target_grade_pct",
    "max_final_score_pct",
    "needed_score_pct",
    "needed_score_exact",
    "status",
    "possible",
    "best_possible_grade_pct",
    "grade_if_zero_pct",
    "letter_targets"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本3 個工具