Learn Pass Grow

MCP server quickstart

Learn Pass Grow runs a Model Context Protocol (MCP) server that hands AI assistants the same grade engine this website runs on. It exists because grade formulas are simple enough that a model will confidently produce one, and just fiddly enough — the weighting is the part that goes wrong — that the confident version is often incorrect.

The unusual thing about this server is what it does not have. There are no rule packs, no tax tables, no annually revised figures, and therefore no verification dates and no runtime data fetch to go wrong. Grade arithmetic is figure-free: a weighted average was the same last year and will be the same next year, so the answer an assistant gets today is the answer it gets in five years. What varies is the policy a course applies to the arithmetic, and that is a caveat rather than a number.

Endpoint

https://api.cosyslabs.com/learnpassgrow/mcp

Claude Desktop

Add the server to your claude_desktop_config.json using the streamable HTTP transport:

{
  "mcpServers": {
    "learnpassgrow": {
      "type": "streamable-http",
      "url": "https://api.cosyslabs.com/learnpassgrow/mcp"
    }
  }
}

Then ask something like: “I have an 82 going into the final and it is worth 30% of the course. What do I need on it to finish with an A?” or “Work out my GPA from these five courses on the Canadian 4.33 scale.”

ChatGPT and other clients

Any MCP-capable client works with the same endpoint. In ChatGPT, add the server URL as a custom connector under Settings → Connectors (developer mode); in other clients, register the endpoint as a streamable-HTTP MCP server. No API key and no account are required.

The tools

There are 7: 6 calculators, each generated from the entry in this site’s registry that also renders its page, plus one reference tool. Generation is the point — a fix to a calculation moves the website, the tool schema, and the arithmetic behind the API in the same commit, so the server cannot quietly go on serving a formula the site has already corrected. The server’s own tools/list response is always the authority on what is live.

final_grade

Work out exactly what you need on your final exam to finish with the grade you want. Enter your current grade, what the final is worth, and your target — the answer appears instantly, along with the arithmetic behind it and the best and worst grades still reachable.

Required: currentPercent, finalWeightPercent, targetPercent

Scale-independent — works in percentage points on any grading system. The same calculator as a page.

gpa

Calculate your GPA from this term's courses, credit by credit, on your own grading system: the US 4.0 scale, Canada's 4.33, UK honours classifications, India's 10-point CGPA, or an Australian WAM. Enter letters or percentages — whichever your transcript uses.

Required: courses, scaleId

Answers in whichever of the five grading systems the caller names. The same calculator as a page.

semester_grade

Add up where your semester actually stands: enter each graded component with the weight your syllabus gives it — exams, homework, projects, participation — and see the weighted percentage and the letter grade it falls in on your own grading system, along with every multiplication behind it.

Required: components, scaleId

Answers in whichever of the five grading systems the caller names. The same calculator as a page.

cumulative_gpa

See where this term leaves your overall record. Enter the GPA and credits you carried in plus this term's figures, and the calculator combines them by credit weight — including the honest news about how much one term can actually move a long transcript.

Required: priorGpa, priorCredits, termGpa, termCredits, scaleId

Answers in whichever of the five grading systems the caller names. The same calculator as a page.

weighted_grade

Three ways to weight a grade, because courses do it three ways: pool every point earned, weight each assignment individually, or average categories first and then weight those. The modes give different answers on the same data, and the calculator shows why.

Required: mode · Optional: items, categories

Scale-independent — works in percentage points on any grading system. The same calculator as a page.

test_average

Average a run of test scores, with the drop-lowest rule most syllabi have and most calculators ignore. Paste your scores straight from the gradebook, choose how many lowest scores your course drops, and see what it does to the average.

Required: scores · Optional: dropLowest, weights

Answers in whichever of the five grading systems the caller names. The same calculator as a page.

grading_scales

The reference tool, and the only one written by hand rather than generated, because there is no calculation underneath it. It returns the grade bands and points for the five grading systems the engine models, so an assistant asking what an A− is worth gets our table instead of inventing one.

Optional: scaleId — one of us-4, ca-4.33, uk-honours, in-10, au-wam. Omit it to get every scale.

The five grading systems

  • us-4United States (4.0 GPA)
  • ca-4.33Canada (4.33 GPA / percentage)
  • uk-honoursUnited Kingdom (honours classifications)
  • in-10India (percentage / 10-point CGPA)
  • au-wamAustralia (WAM / HD bands)

The United Kingdom entry classifies rather than averaging to a grade point, which is deliberate: UK universities do not issue a GPA, so converting to one would hand an assistant a number nobody’s institution recognises.

What every response carries

The syllabus caveat is attached structurally, not by habit — it is added by the same function that serialises every successful answer, so there is no code path that returns a figure without it. The arithmetic is exact; the policy it is applied to is not ours. Weights, rounding, drop-lowest rules, and letter cut points are set by the course, and a number relayed without that framing invites somebody to argue with their instructor using our output.

An input error is relayed verbatim. When a calculator refuses — the target is not reachable from the work that is left, there is no ungraded work remaining, the weights do not describe a course — the message it raises is what the caller receives, flagged as an error. It is not caught and converted into a plausible number, which is the single most dangerous thing a tool server can do, because a plausible number is indistinguishable from a correct one to the person reading the answer.

Rules of the road

Everything the server returns is grade arithmetic for study planning, not a grade of record.

One hard limit applies to anything built on this server, the same limit that applies to us: it must not be used to promise a grade or an exam outcome. The tools compute arithmetic from numbers the caller supplies. What a student does with that arithmetic — and what their institution does with their work — is not something this data can predict, and an assistant that says otherwise is making it up.

Schemas, the embeddable widgets, and the rest of the public surface are on the Developers page.

learnpassgrow.com is a private, independent education website. It is not affiliated with any school, university, examination board, or certification body.