gpa-calculator-mcp について
gpa-calculator-mcpは、成績計画や対応する評価尺度でのGPA計算に使える、学生向けのオープンソースMCPサーバーです。テスト済みのツールが構造化データを返し、インターネット接続やログインなしでローカル実行できます。
主な機能
- 01学期・累積・加重GPAの計算
- 02文字評価とパーセントの変換
- 03期末試験で必要な点数の算出
- 04目標GPAと各科目の成績計画
- 05加重科目成績の計算
- 06組み込み評価尺度の一覧
活用シーン
- 01単位数と成績から学期GPAを見積もる
- 02目標達成に必要な期末試験の点数を算出
- 03累積GPA目標に必要な成績を計画
MCP 対応
MCPサーバーは、互換性のあるAIアプリに成績計算・計画用の7つのツールを提供し、構造化出力スキーマで結果を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| scale | enum | いいえ | 成績評価基準です。表を確認するには list_scales を使用します。不明な場合は、学生が在籍する学校で使用している基準を尋ねてください。us4 | us4plus | ontario-college |
| courses | array | はい | 計算に含める科目です。 |
| prior_gpa | number | いいえ | 以前の学期の GPA(合算する場合)。 |
| prior_credits | number | いいえ | 以前の学期の単位数(合算する場合)。 |
詳細
GPA Calculator MCP
GPA Calculator MCP は、npm で gpa-calculator-mcp として公開されている無料のオープンソース MCP サーバーです。AI アプリ向けの GPA 計算 MCP です。GPA、累積 GPA(CGPA)、学期 GPA(SGPA)、単位数による重み付けを反映した GPA の計算、目標達成に必要な GPA や今後の各コースで必要な成績の計画、レターグレードとパーセンテージの相互変換、期末試験で必要な成績の算出を依頼できます。計算はモデルによる推測ではなく、テスト済みのコードで行われます。
Claude、ChatGPT、Cursor、VS Code Copilot など、MCP に対応するあらゆるアプリで使用できます。コンピューター上で動作し、インターネットもログインも不要で、学校のアカウントにアクセスすることもありません。
永久に無料です。アカウントもサブスクリプションも不要です。
インストール
npx を使って npm から直接実行します。Node.js 20 以降が必要です。詳細はNode のバージョンを参照してください。ほかにインストールするものはなく、アカウントも、サーバー自体の設定ファイルも不要です。
npx -y gpa-calculator-mcp
AI アプリがサーバーを起動できるように、アプリの MCP 設定に追加してください。各アプリはそれぞれ別のファイルから設定を読み込むため、利用するアプリを選んでください。
どのアプリでも同じ方法で同じサーバーを起動します。異なるのは設定の保存先だけです。
Claude Desktop
claude_desktop_config.json に次の内容を追加してください。
{
"mcpServers": {
"gpa": {
"command": "npx",
"args": ["-y", "gpa-calculator-mcp"]
}
}
}
ファイルを保存したら Claude Desktop を再起動してください。
Claude Code
ターミナルで次のコマンドを実行してください。
claude mcp add gpa -- npx -y gpa-calculator-mcp
ChatGPT
ChatGPT デスクトップアプリでは、コンピューター上で動作するサーバーを起動できます。Settings を開き、MCP servers を選択してサーバーを追加し、STDIO を選んで、コマンドに npx、引数に -y gpa-calculator-mcp を指定します。サーバーを保存してアプリを再起動してください。
デスクトップアプリ、Codex CLI、IDE 拡張機能は同じ設定ファイル ~/.codex/config.toml を読み込むため、代わりにそこへサーバーを設定することもできます。
[mcp_servers.gpa]
command = "npx"
args = ["-y", "gpa-calculator-mcp"]
チャットで /mcp と入力すると、接続中のサーバーを確認できます。
ChatGPT のウェブサイトはサーバーとウェブ経由で通信するため、公開 HTTPS アドレスが必要です。コンピューター上で動作するサーバーの前にトンネルを設置し、Plugins ページからカスタム MCP サーバーとして追加してください。
Cursor
Cursor はプロジェクトフォルダーの .cursor/mcp.json、またはすべてのプロジェクトでサーバーを使う場合はホームフォルダーの ~/.cursor/mcp.json から mcp.json を読み込みます。Windows では、ホームフォルダーのファイルは %USERPROFILE%\.cursor\mcp.json です。
{
"mcpServers": {
"gpa": {
"type": "stdio",
"command": "npx",
"args": ["-y", "gpa-calculator-mcp"]
}
}
}
ファイルを保存したら Cursor を再起動してください。サーバーが起動すると、サイドバーの Customize ページに表示され、そこで有効/無効を切り替えられます。
VS Code Copilot
プロジェクトフォルダーの .vscode/mcp.json、またはユーザープロファイルの mcp.json ファイルに次の内容を記述してください。
{
"servers": {
"gpa": {
"type": "stdio",
"command": "npx",
"args": ["-y", "gpa-calculator-mcp"]
}
}
}
VS Code は、プロジェクトのルートにあるポータブルな .mcp.json ファイルも読み込みます。このファイルでは servers ではなく mcpServers という名前を使います。
{
"mcpServers": {
"gpa": {
"command": "npx",
"args": ["-y", "gpa-calculator-mcp"]
}
}
}
ファイルを保存したら VS Code を再起動してください。
いずれかの方法で設定したら、以下のプロンプトを試してみてください。
次の3つのプロンプトを試す
-
期末試験で何点取る必要がありますか?
「現在の成績は85%で、期末試験はコース全体の40%を占めます。最終成績をB+にするには、期末試験で何点取る必要がありますか?」
モデルは、
current_percentを85、final_weight_percentを40、target_letterを「B+」として、us4スケールでneeded_on_finalを呼び出します。このスケールではB+は87%からなので、B+に届くには期末試験で90%が必要です。代わりに目標のパーセンテージを指定しても、ツールは同じ計算をします。
current_percentを74、final_weight_percentを40、target_percentを80にすると、コースの残り60%はすでに確定しているため、80%に届くには期末試験で89%が必要です。 -
GPAはいくつですか?
「3単位でA、4単位でB+、3単位でCを取った場合、GPAはいくつですか?」
calculate_gpaは、us4スケールで合計10単位のGPAとして3.12を返し、科目ごとの内訳も示します。 -
成績を換算する
「78%をオンタリオ州のカレッジのスケールで文字評価に換算してください。」
convert_gradeは、ontario-collegeスケールを使って、文字評価、その評価に該当するパーセンテージの範囲、成績ポイントを返します。
ほかにも、次のような質問ができます。
- 「60単位でGPAが3.1です。3.4にするには、次の学期にGPAをいくつ取る必要がありますか?」
- 「60単位でGPAが3.4です。次の学期にある4科目でそれぞれ何点取れば、GPAを3.5にできますか?」
- 「このコースは小テストが20%、実験が30%、試験が50%です。小テストは85点、実験は70点です。現時点の成績はいくつで、最終的に最高で何点になりますか?」
- 「2:1、2:2、firstを取った場合、英国の学位分類スケールでのGPAはいくつですか?」
- 「CGPAはいくつですか?45単位でGPAが3.2で、今学期は3単位でA、4単位でB+、3単位でCを取りました。」
- 「2つのAPクラスの単位数を1.1倍として計算した場合、加重GPAはいくつですか?」
- 「組み込み済みの成績スケールを見せてください。」
ツール
7 つのツールがあります。これらの名前が AI アプリに表示されます。
| ツール | パラメーター | 機能 |
|---|---|---|
calculate_gpa | courses(name、credits、grade、credit_multiplier)、scale、prior_gpa、prior_credits | 単位数と成績を指定した科目の GPA を計算します。各科目に credit_multiplier を指定して重み付けしたり、以前の GPA と単位数を組み合わせて累積 GPA を計算したりすることもできます。prior_gpa と prior_credits は両方指定するか、両方とも省略してください |
convert_grade | grade、scale | 文字またはパーセンテージを、対応する文字評価、パーセンテージの範囲、成績ポイントに変換します |
needed_on_final | current_percent、final_weight_percent、target_percent、target_letter、scale | 目標を達成するために期末試験で必要な点数を計算し、すでに達成が確定している場合や、達成が不可能な場合も知らせます。目標はパーセンテージ、または B+ や 2:1 のような文字で指定します。基準点は評価尺度の表から取得します |
weighted_grade | parts(name、weight、score) | 重み付けされた各項目をまとめて、現時点の成績と、最も低い場合および最も高い場合の最終成績を計算します。採点されていない項目では score を省略してください。各重みは科目全体に対するパーセンテージなので、リストに含めない項目も今後の課題として計算に含まれます |
target_gpa_planner | current_gpa、credits_completed、target_gpa、upcoming_credits、scale | 目標累積 GPA に到達するために、今後の単位で必要な GPA を計画します |
plan_courses | current_gpa、credits_completed、target_gpa、courses(name、credits)、scale | 目標累積 GPA に到達するために、今後の科目で必要な GPA を計画し、計画を達成するために各科目で必要な最低の文字評価を示します |
list_scales | なし | 組み込みの評価尺度を、文字評価、パーセンテージ、ポイントの各表とともに一覧表示します |
AI アプリに送信される各ツールの説明の末尾には例となるプロンプトが 1 つ付いているため、モデルは「期末試験で何点取る必要がありますか?」のような質問に適したツールを選び、すべてのパラメーターを設定できます。
各ツールは同じ数値を構造化データとしても返します。各ツールには出力スキーマがあるため、JSON を読み取るクライアントは term_gpa や needed_percent などのフィールドをすぐに取得でき、テキスト回答は文章だけを読み取るアプリでもそのまま利用できます。各ツールが返すフィールドは、llms.txt と glama.json に記載されています。
評価尺度
| 尺度 ID | 説明 |
|---|---|
us4 | プラス評価とマイナス評価を含む、米国で一般的な 4.0 尺度です。A は 4.0、A- は 3.7 です |
us4plus | us4 と同じですが、A+ は 4.3 です |
ontario-college | オンタリオ州のカレッジで一般的な 4.0 尺度です。A+ と A は 4.0、B+ は 3.5 です。ご自身の学校の表を確認してください |
uk-classification | 英国の学位分類の基準です。ファースト、2:1、2:2、サードがあり、ファーストは 4.0 の評価ポイントに相当します。ご自身の学校の表を確認してください |
australia-hd | オーストラリアの 7.0 尺度です。HD は 7、D は 6、C は 5、P は 4 です。ご自身の学校の表を確認してください |
weighted-5.0 | 米国の加重 5.0 尺度です。us4 の基準を使い、F より上のすべての文字評価を 1 ポイント高くするため、A は 5.0 になります。ご自身の学校の表を確認してください |
scale パラメーターには、6 つの ID のいずれかを指定します。ツールスキーマを読み取るクライアントには、これらが許可される値として表示され、それ以外の値はツールの実行前に拒否されます。
学校によって基準は異なります。list_scales を実行して正確な表を確認し、ご自身の学校の基準が異なる場合は AI に伝えてください。
英国とオーストラリアの 2 つの尺度では、クラスまたは文字評価を評価ポイントに変換し、GPA ツールで成績を合計できるようにします。英国の表では、ファーストは 4.0、2:1 は 3.3、2:2 は 2.7、サードは 2.0 です。英国の学位は通常、GPA ではなくクラスで報告されるため、これらのポイントは比較や計画のための目安として扱い、公式な数値としては扱わないでください。文字評価のフィールドにクラスを 1st、2:1、2:2、3rd のいずれかで渡すか、パーセンテージを渡せば、サーバーがクラスを選択します。weighted-5.0 の表は特定の学校の公式表ではなく、単純な対応表です。us4 の基準を維持し、F より上のすべての文字評価を 1 ポイント高くするため、A は 5.0 になります。学校が最高値 5.0 の加重 GPA を報告する場合に選択してください。
よくある質問
CGPAとSGPAの違いは何ですか?
SGPAは1学期分のGPA、つまりその学期に履修した科目のGPAです。CGPAは、修了したすべての学期を通算した累積GPAです。calculate_gpaは、履修した科目の学期GPAを計算します。以前のGPAと単位数をprior_gpaとprior_creditsとして追加すると、このツールは累積GPAも計算します。
前学期のGPAを含めることはできますか?
はい。今学期の科目とともに、以前のGPAをprior_gpa、以前の単位数をprior_creditsとしてcalculate_gpaに渡してください。このツールはそれらを累積GPAに反映します。両方をセットで渡してください。片方だけを渡すとエラーになり、以前の学期を黙って除外するのではなく、どちらが不足しているかをツールが示します。
APクラスの重みを大きくできますか?
はい。calculate_gpaで科目にcredit_multiplierを渡してください。たとえば、単位数が1.1倍として扱われるAPクラスには1.1を指定します。通常のterm_gpaは変わらず、倍率を適用したweighted_gpaと加重単位数が回答に追加されます。倍率は学校によって異なるため、学校で使用している倍率を確認してください。加重GPAはその呼び出しで指定した科目を対象とし、累積GPAでは引き続き通常の単位数を使用します。
学校で4.3スケールが使われている場合はどうすればよいですか?
us4plusスケールを使用してください。これはA+を4.3とするus4スケールです。calculate_gpa、convert_grade、またはtarget_gpa_plannerにscale "us4plus"を渡してください。list_scalesを実行すると、表全体を確認できます。
合格するには何点必要ですか?
学校やプログラムによって異なります。組み込みのus4スケールでは、Dは63~66パーセントに該当し、通常は最低合格点ですが、多くのプログラムではC以上が必要です。最終試験で必要な点数を求めるにはneeded_on_finalを、累積GPAを計画するにはtarget_gpa_plannerを使用してください。実際の基準点は学校のハンドブックで確認してください。
パーセンテージではなく、レターグレードを指定できますか?
はい。needed_on_finalにtarget_letterを渡してください。たとえばtarget_letter "B+"を指定すると、ツールはスケール表で該当する基準点を調べます。英国の学位分類(2:1など)には、scale "uk-classification"を渡してください。target_percentも指定でき、その場合、ツールは2つのうち高い方を目標として計算します。
科目の各パートの合計は100にならなければなりませんか?
いいえ。weighted_gradeの各重みは、科目全体に対するパーセンテージなので、わかっているパートだけを渡せます。小テストに20パーセント、実験に30パーセントを割り当て、得点がそれぞれ85と70の場合、ツールは現時点の成績が76パーセントであること、その科目の配点100点のうち38点を獲得済みであること、残りすべてで0点を取ると最終成績が38パーセントになること、残りすべてで100点を取ると最終成績が88パーセントになることを示します。科目の残り50パーセントはまだ未実施です。科目の成績は100点満点で評価されるため、合計が100を超える重みを指定するとエラーになります。
スクリプトで文章を読まずに数値を取得できますか?
はい。すべてのツールには出力スキーマがあり、テキストと並べて数値をフィールドとして返すため、スクリプトは文章から数値を取り出さずにterm_gpaやneeded_percentを読み取れます。テキストでの回答はこれまでと同じです。
比較
| オプション | ログインまたは学校へのアクセスが必要 | オフラインで動作 | 主な用途 | 使用する場面 |
|---|---|---|---|---|
| GPA Calculator MCP(このサーバー) | いいえ | はい | 数値の計算に特化しています。GPA、CGPA、SGPA、加重成績、目標値、換算に対応します。 | 数値が手元にある場合や、計画を立てるために計算だけが必要な場合に使用します。 |
| LMS MCP サーバー(Brightspace、Canvas、Moodle、Google Classroomなど) | 多くの場合必要です。学校のシステムに接続します | 通常はいいえ | 学習システムから成績、締め切り、科目データを取得します。目標成績計算ツールを含むものもあります。 | 数値を入力するのではなく、科目から直接データを取得したい場合に使用します。 |
数値だけを知りたい学生には、特化型のオフライン計算ツールを使えば、ログインや学校のサーバーへの接続が不要で、計算だけに集中できます。すでにLMSから成績を取得している場合でも、その数値をこの計算ツールに渡して使用できます。
Brightspace または Canvas MCP と一緒に使う
学習システムからすでに成績を取得している場合は、この計算ツールと組み合わせられます。Brightspace MCP と Canvas MCP は、コースサイトから成績を取得できます。その後、このサーバーに依頼して、GPA の計算や期末試験で必要な点数の算出ができます。
- Brightspace MCP で成績を取得し、その成績を使って
calculate_gpaまたはneeded_on_finalを呼び出します。 - Canvas MCP で成績を取得し、その成績を使って
calculate_gpaまたはneeded_on_finalを呼び出します。
どちらも無料のオープンソースです。リンクについては以下の一覧をご覧ください。
Node のバージョン
ここには2つの最低要件があり、同じバージョンではありません。
| 作業内容 | Node.js |
|---|---|
| 公開済みサーバーの実行 | 20 以降 |
| クローンのビルドとテスト | 22 および 24 のリリース系列では 22.12 以降、または 26 以降 |
サーバー自体は Node.js 20 で問題なく動作し、これは package.json の engines に記載されています。テストランナーにはより新しい Node.js が必要なため、開発時の最低要件は同じファイルの devEngines に記載されています。npm は install、run、test の前に devEngines を確認するため、Node.js 20 でクローンを使うと、テストスイートの途中で原因不明のエラーが発生する代わりに、明確なメッセージが表示されて停止します。23 および 25 のリリース系列は、テストランナーが動作しないため、意図的に対象外としています。
どちらのバージョンも package.json に記載されており、tests/node-version.test.ts のテストで README およびテストランナーが要求する範囲との一致を確認しています。
開発
npm install
npm run build
npm test
テストではすべてのツールを実際の MCP クライアント経由で呼び出すため、アカウントもネットワークも必要ありません。テストランナーの都合上、上記の Node のバージョンのセクションに記載された、より新しい Node.js が必要です。
学生向けの無料 MCP サーバー
すべて無料のオープンソースで、アカウントにアクセスする場合も読み取り専用です。全リストは brightspacemcp.com/more-mcps をご覧ください。
| サーバー | 機能 |
|---|---|
| Brightspace MCP | AI 向けの D2L Brightspace です。実際の提出状況を含む締め切り、成績、目標成績の計算ツール、コースファイルを利用できます。 |
| Canvas MCP | AI 向けの Canvas LMS で、読み取り専用です。締め切り、未提出課題、成績、お知らせを確認できます。 |
| Moodle MCP | AI 向けの Moodle で、読み取り専用です。締め切り、期限超過の課題、成績、お知らせを確認できます。 |
| Google Classroom MCP | AI 向けの Google Classroom で、読み取り専用です。ToDo、締め切り、未提出課題、成績を確認できます。 |
| Citations MCP | DOI、ISBN、または入力した詳細情報から APA、MLA、Chicago 形式の引用を作成します。アカウントは不要です。 |
| Study Planner MCP | 試験勉強のスケジュール、間隔反復の日程、ポモドーロ計画、課題のマイルストーンを作成します。オフラインで動作します。 |
| Paper Finder MCP | OpenAlex を通じて学術論文を検索し、オープンアクセス版や関連研究を見つけます。API キーは不要です。 |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。