Mathter について
Mathterは、教師や家庭向けに、Mathterアカウントを使ってK–12の数学ワークシートPDFを作成するMCPサーバーです。スキル検索や問題集のカスタマイズ、解答の追加に対応し、ファイルをローカルに保存します。
主な機能
- 01学年別のスキル検索
- 02カスタム問題集の生成
- 03解答と解説の追加
- 04指定フォルダーへのPDF保存
活用シーン
- 01学年に応じた数学練習の準備
- 02分野別ドリルや九九表の作成
- 03月ごとの残り問題集数の確認
MCP 対応
MCPクライアントに、スキル検索、利用枠の確認、問題集生成のツールを提供します。stdioで通信し、生成したPDFをローカルコンピューターに保存します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mathter-mcpMATHTER_API_KEYシークレットYour Mathter API key (mk_live_...). Create one at https://mathter.ca/account under API access.MATHTER_OUT_DIRFolder to save packs in. Defaults to your Downloads folder.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| seed | integer | いいえ | 乱数生成器のシードを固定し、同じシードで同じセットを再現します。デフォルトはランダムです。 |
| chart | object | いいえ | 乗算のみ:ワークシートの代わりに九九表を印刷します。"filled" は記入済みの見本表、"blank" は記入用の表です。 |
| chart.mode | enum | はい | filled | blank |
| focus | integer | いいえ | 単一の数を使ったドリルです。例:7 の段。4 つの計算スキル(加算、減算、乗算、除算)のみに適用されます。 |
| grade | integer | はい | 学年。0(幼稚園)から 12 まで指定できます。選択したスキルが対象とする学年を指定してください。list_skills は各スキルの対象学年を返します。 |
| skill | string | はい | ワークシートで練習する数学スキル(例:"multiplication")。まず list_skills を呼び出し、返されたキーのいずれかを使用してください。キーの一覧は変化し、スキルは指定した学年の対象である必要があります。不明なスキル、または学年に適合しないスキルは 400 で拒否されます。 |
| style | enum | いいえ | タイポグラフィ/レイアウトのプリセット。デフォルトは "modern" です。プランによる制限があり、アカウントが利用できない場合は即座に拒否されます。無料アカウントは "modern" のみ、Standard は "classic" と "notebook" も利用でき、Premium は 6 種類すべてを利用できます。外観の指定を求められていない限り、省略してください。modern | classic | notebook | studio | ledger | blueprint |
| theme | enum | いいえ | セットのカラーパレットです。すべてのプランで利用できます。デフォルトはティールです。teal | tangerine | ocean | plum | berry | forest | slate | crimson | grape | cocoa |
| timed | boolean | いいえ | 時間制限付きの速算ドリルです。加算、減算、乗算、除算のみに適用されます。 |
| title | string | いいえ | パックに印刷するタイトル。デフォルトは "Math Lesson" です。80 文字で切り捨てられます。 |
| diagrams | boolean | いいえ | 幾何スキルのみ:テキストの問題文の代わりにラベル付きの図形を使用します。その他のスキルでは無視されます。 |
| shopName | string | いいえ | パックに印刷するブランド名。Premium のみ。他のアカウントでは "Mathter.ca" に自動的に置き換えられ、パックはそのまま生成されます。学校組織のメンバーには、常に組織独自のブランドが適用されます。 |
| difficulty | enum | いいえ | 難易度。デフォルトは "medium" です。easy | medium | hard |
| focusOrder | enum | いいえ | フォーカスドリルの順序。デフォルトは sequential です。focus が設定されている場合にのみ適用されます。sequential | shuffled |
| graphBlank | boolean | いいえ | 座標グリッドはデフォルトで空白(ラベルなし)です。生徒が自分で目盛りを設定できます。ラベル付きの ±10 グリッドにするには false を指定します。グラフを印刷するスキルでのみ有効です。 |
| unitSystem | enum | いいえ | 測定問題で使用する単位系。デフォルトは metric です。主に単位換算スキルに影響します。metric | imperial |
| includeCover | boolean | いいえ | 表紙を印刷します。デフォルトは true ですが、無料アカウントでは自動的に無効になります(Standard 以上)。 |
| includeLesson | boolean | いいえ | 「how to」レッスンページを印刷します。デフォルトは true ですが、無料アカウントでは自動的に無効になります(Standard 以上)。 |
| worksheetCount | integer | いいえ | パックに含めるワークシートの数。アカウントのプラン上限に制限されます(無料 2、Standard 10、Premium 25)。上限を超えて指定しても問題ありませんが、生成数は少なくなります。省略した場合は、10 またはプラン上限のいずれか少ない方になります。無料アカウントのデフォルトは 2 枚です。 |
| problemsPerPage | integer | いいえ | 1 ページあたりの問題数。デフォルトは 12 です。スキル、学年、レイアウトで実際に 1 ページに収まる数まで引き下げられるため、大きな値を指定すると、規定内で最も詰め込んだページになります。 |
| workedSolutions | boolean | いいえ | 解答キーに段階的な解答を含めます。手順が作成されているスキルでのみ有効で、それ以外では無視されます。 |
| includeAnswerKeys | boolean | いいえ | 解答キーを印刷します。すべてのプランでデフォルトは true です。省略するには false を送信します。 |
詳細
mathter-mcp
AI アシスタントに数学のワークシートパックを頼みましょう。印刷可能な PDF がパソコンに届きます。
「金曜日用に、小学4年生の九九パックを作って。」
→
Downloadsフォルダーにmathter-grade-4-multiplication-2026-10-04-1532.pdfが保存されます。解答付きです。 (表紙とレッスンページは Standard プラン以上で利用できます。)
これは、Mathter を Claude Desktop、Claude Code、Cursor、その他の MCP クライアントに接続する小さな Model Context Protocol サーバーです。機能はひとつだけです。平易な英語のリクエストを、あなた自身の Mathter アカウントから実際のワークシートパックに変換し、開いて印刷できるファイルとして保存します。
Mathter アカウントと API キーが必要です。どちらも無料で始められます。無料プランでは解答付きのワークシートを最大2枚含むパックを作成でき、有料プランでは枚数が増え、表紙とレッスンページも追加されます。
セットアップ(約2分)
1. キーを取得する
mathter.ca/account にサインインし、API access を見つけてキーを作成します。キーは mk_live_… のような形式で、一度だけ表示されます。ページを閉じる前にコピーしてください。紛失した場合は、キーを無効にして新しいキーを作成してください。通常の操作で、費用はかかりません。
2. アシスタントにキーを設定する
Claude Desktop — Settings → Developer → Edit Config を開き、mcpServers セクションに mathter エントリーを追加します(または、このブロックを設定ファイルに統合します)。ファイルに preferences などの設定がすでにある場合は、mcpServers を最上位階層に並べて配置し、それらの中には入れないでください。preferences の中に入れると、無視されても気づけません。
{
"mcpServers": {
"mathter": {
"command": "npx",
"args": ["-y", "mathter-mcp"],
"env": { "MATHTER_API_KEY": "mk_live_YOUR_KEY" }
}
}
}
次に、Claude Desktop を完全に終了し(システムトレイのアイコンを右クリックして「Quit」を選択します。ウィンドウを閉じるだけでは起動したままです)、もう一度開きます。(設定ファイルは、macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json にあります。直接編集してもかまいません。)
Claude Code — 次のコマンドを実行します。
claude mcp add mathter --env MATHTER_API_KEY=mk_live_YOUR_KEY -- npx -y mathter-mcp
Cursor、Windsurf など — Claude Desktop と同じ JSON ブロックを、そのアプリが MCP サーバーに使用するファイルに追加します。エディターによっては(たとえば Zed)、エントリーの形式が異なります。正確な形式については、それぞれの MCP ドキュメントを確認してください。コマンド、引数、MATHTER_API_KEY はどのアプリでも同じです。サーバーは stdio で通信するため、ホストもポートの開放も必要ありません。
事前にインストールするものはありません。npx -y mathter-mcp が必要に応じて npm からダウンロードするため、初回の起動は2回目以降より少し時間がかかります。Node 18 以降が必要です。
3. ワークシートを依頼する
「Mathter で小学3年生向けに使える数学スキルを教えて。」 「小学3年生向けの引き算パックを5ページ作って。名前は Warm-Ups、難易度はやさしめで。」 「小学4年生向けの空欄の九九表を作って。」 「今月、Mathter のパックはいくつ残っている?」 「小学6年生向けの分数のワークシートを10枚。難易度は難しめで、解き方も付けて。」
アシスタントが PDF の保存場所を返信します。開いて印刷してください。
アシスタントでできること
list_skills
mathter.ca に問い合わせて、現在利用できるスキルと、それぞれに対応する学年を確認します。推測ではなく実際に存在するスキルを選べるよう、ワークシートを作成する前にアシスタントがこのツールを呼び出す必要があります。キーは送信されません。このリストは公開されています。
check_allowance
アカウントに残っているパック数、利用中のプラン、利用枠がリセットされる日付を知らせます。何も消費しないので、いつでも「Mathter のパックはいくつ残っている?」と尋ねられます。
generate_worksheet_pack
パックを作成します。必須なのは skill と grade だけです。それ以外の項目には適切なデフォルト値があります。
| オプション | 内容 | 備考 |
|---|---|---|
skill | 必須。 練習するスキル。例:multiplication | list_skills が返す項目のいずれかで、その学年で教えられるスキルである必要があります |
grade | 必須。 0(幼稚園)〜12 | — |
theme | 10 種類のカラーパレットのいずれか | デフォルトは teal です。すべてのプランで 10 種類を利用できます |
style | modern、classic、notebook、studio、ledger、blueprint | プランによって利用範囲が異なります。無料プランは modern、Standard では classic/notebook が追加され、Premium では 6 種類すべてを利用できます |
difficulty | easy、medium、hard | デフォルトは medium です |
title | パックに印刷されるタイトル | デフォルトは "Math Lesson" です。80 文字で切り詰められます |
worksheetCount | シートの枚数 | プランごとに上限があります。無料プランは 2、Standard は 10、Premium は 25 です。省略すると、10 またはプランの上限のうち少ない方になります |
problemsPerPage | 1 ページあたりの問題数 | デフォルトは 12 です。ページに収まる数が上限となります |
includeAnswerKeys | 解答キー | デフォルトで有効です |
includeCover / includeLesson | 表紙ページ、「手順」ページ | Standard 以上のプランではデフォルトで有効です |
workedSolutions | 解答キーに含める、手順ごとの解答 | スキルに解答手順が用意されている場合に利用できます |
focus / focusOrder | 1 つの数に絞った練習。例:7 の段 | 加算、減算、乗算、除算のみ |
chart | { "mode": "filled" } または "blank" — 九九表 | 乗算のみ |
timed | 制限時間付きの計算練習 | 4 種類の計算スキルのみ |
diagrams、graphBlank、unitSystem | 図形の図、空白のグリッド(デフォルト。ラベル付きにするには graphBlank: false)、メートル法/ヤード・ポンド法 | スキルで使用する場合のみ |
shopName | パックに表示するブランド名 | Premium のみ。それ以外のプランでは通知なく置き換えられます |
seed | 同一のパックを再現します | デフォルトはランダムです |
ロゴはここではなく、Mathter アカウントから取得されます。mathter.ca に一度アップロードすると、作成方法にかかわらずすべてのパックにロゴが表示されます。
設定
| 変数 | 必須 | デフォルト |
|---|---|---|
MATHTER_API_KEY | はい | —(この値がないとサーバーは起動しません) |
MATHTER_BASE_URL | いいえ | https://mathter.ca |
MATHTER_OUT_DIR | いいえ | ダウンロードフォルダー。存在しない場合はシステムの一時フォルダー |
パックの保存先を共有の学校フォルダーなどにしたい場合は、MATHTER_OUT_DIR を設定します。
"env": {
"MATHTER_API_KEY": "mk_live_YOUR_KEY",
"MATHTER_OUT_DIR": "/Users/you/Documents/Worksheets"
}
フォルダーが存在しない場合は作成されます。ファイル名が重複することはありません。同じ種類のパックを同じ分に 2 つ作成すると、2 つ目は …-2.pdf という名前になります。
料金について
ここで作成したパックは、Web サイト上で作成した場合とまったく同じように Mathter アカウントに請求されます。適用されるプラン、月ごとの利用枠、パックのサイズとスタイルの上限も同じです。呼び出しごとの料金や、別途 API プランの料金はありません。クレジットがなくなると、アシスタントがその旨をお知らせします。プランについては mathter.ca/pricing をご覧ください。
キーについて
キーはお使いのマシンから外部に送信されません。このサーバーがキーを送る先は 1 か所のみで、POST https://mathter.ca/api/generate の Authorization ヘッダーです。それ以外には送信されません。公開スキルエンドポイントへの送信、ファイルへの書き込み、サーバーが出力またはアシスタントに返す内容への記載もありません。サーバーからのエラーメッセージも含め、出力される内容はすべて、キーのような文字列がないか事前に確認されます。チャットの記録はメールやバグ報告に貼り付けられることがあるため、これは重要です。
キーが漏えいした場合は、mathter.ca/account で無効化してください。無効化はすぐに反映されます。キーを使うとアカウントの利用枠を消費できますが、ブランド情報、パスワード、請求情報の変更や、別のキーの作成はできません。
問題が発生した場合
サーバーはステータスコードではなく、文章で応答します。次のようなメッセージが表示されることがあります。
| 表示される内容 | 対処方法 |
|---|---|
| "MATHTER_API_KEY is not set" | キーがサーバーに届いていません。env ブロックを確認して、アプリを再起動してください |
| "Mathter did not accept the API key" | キーが間違っている、入力ミスがある、または取り消されています。mathter.ca/account で新しいキーを作成してください |
| "Out of worksheet credits for the month" | 利用枠は次の請求期間にリセットされます。アップグレードすることもできます |
| "That style is not available on this account's plan" | そのスタイルを外すか、アップグレードしてください |
| "This account is not allowed to generate packs" | 管理者/サポート用アカウントであるか、学校のライセンスが適用されなくなっています |
| "Mathter is rate-limiting this API key" | 一度に処理できるパックは1つです。表示された時間だけ待ってください。キーに問題はなく、取り消す必要もありません |
| "Mathter is rate-limiting the public skill list" | キーを送信しないスキルリストに対する、コンピューターごとの制限です。1分ほど待ってください |
| "The renderer is busy" | 故障ではなく、処理が集中しています。30秒ほど待ってから再試行してください。料金は発生していません |
| "Mathter rejected that configuration" | 通常は、その学年では教えていないスキルが原因です。スキルリストを再度取得してください |
まだ解決しませんか? mathter.ca/contact。
開発者向け
2つのエンドポイントを利用するシンプルな HTTP クライアントで、stdio トランスポートを使用します。実行時の直接依存関係は @modelcontextprotocol/sdk のみです。この SDK 自体にも依存関係があるため、実際にインストールされるパッケージは約90個で、SDK の HTTP トランスポート依存関係も含まれます。テレメトリー、分析、上記で説明した2つ以外のネットワーク呼び出しはありません。MATHTER_BASE_URL を設定すると、開発インスタンスを指定できます。
npm ci # a lockfile is committed; plain `npm install` may need --legacy-peer-deps
npm test # vitest, against a local stub HTTP server — never the real API
npm run typecheck
npm run build # tsc -> dist/
公開される tarball には dist/、この README、ライセンスが含まれます。ソースとテストはリポジトリに残ります。
MIT ライセンスです。Mathter については mathter.ca、API については mathter.ca/api をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。