GPA calculator MCP server. Calculate GPA, weighted and final grades, and convert letter grades.
Ask your AI to work out your GPA, convert grades between letters and percentages, and figure out what you need on the final. The math is done by tested code, not guessed by the model.
This is a free, open source MCP server. It works with Claude, ChatGPT, Cursor, VS Code Copilot and any other app that supports MCP. It runs on your computer, needs no internet and no login, and never sees your school account.
Free forever. No account and no subscription.
Add this to your AI app's MCP config. For Claude Desktop that is claude_desktop_config.json.
{
"mcpServers": {
"gpa": {
"command": "npx",
"args": ["-y", "gpa-calculator-mcp"]
}
}
}
Restart your AI app, then try one of the questions below. You need Node.js 20 or newer.
For Claude Code, run claude mcp add gpa -- npx -y gpa-calculator-mcp.
| Tool | What it does |
|---|---|
calculate_gpa | GPA for a list of courses with credits and grades, optionally combined with your earlier GPA |
convert_grade | Convert a letter or percentage to the matching letter, percentage range and grade points |
needed_on_final | The score you need on the final to hit a target, and whether it is possible |
weighted_grade | Your grade so far and your best and worst possible finish from weighted parts |
target_gpa_planner | The GPA you need on upcoming credits to reach a target cumulative GPA |
list_scales | The grade scales built in, with their letter, percentage and points tables |
| Scale id | Description |
|---|---|
us4 | Common US 4.0 scale with plus and minus grades, A is 4.0 and A- is 3.7 |
us4plus | Same as us4 but A+ is 4.3 |
ontario-college | A common Ontario college 4.0 scale, A+ and A are 4.0, B+ is 3.5. Check your own school's table |
Schools differ. Run list_scales to see the exact table used, and tell your AI if your school's cutoffs are different.
npm install
npm run build
npm test
The tests call every tool through a real MCP client, so they need no account or network.
All free, open source and read only where they touch your accounts. Browse the full list at brightspacemcp.com/more-mcps.
| Server | What it does |
|---|---|
| Brightspace MCP | D2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files. |
| Canvas MCP | Read-only Canvas LMS for AI. Due dates, missing work, grades and announcements. |
| Moodle MCP | Read-only Moodle for AI. Due dates, overdue work, grades and announcements. |
| Google Classroom MCP | Read-only Google Classroom for AI. To-do, due dates, missing work and grades. |
| Citations MCP | APA, MLA and Chicago citations from a DOI, an ISBN or typed details. No account. |
| Study Planner MCP | Exam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline. |
| Paper Finder MCP | Search scholarly papers, find open access copies and related work through OpenAlex. No key needed. |
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y gpa-calculator-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-anonymousonyx22-gpa-calculator-mcp": {
"command": "npx",
"args": [
"-y",
"gpa-calculator-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencegpa-calculator-mcpnpmio.github.AnonymousOnyx22/gpa-calculator-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.