Mathter

ca.mathter由 mathter.ca 发布v0.2.0更新于 Oct 24, 2026

Ask your AI assistant for a printable K-12 math worksheet pack and get the PDF on your computer.

已验证STDIO仅桌面效率与工作流媒体与设计

概览

AI 生成的概览

Mathter MCP 把一句自然语言请求变成可打印的 K-12 数学练习册 PDF,从你自己的 Mathter 账户生成并保存到电脑。

可以做什么
  • 列出当前可用的数学技能及各自覆盖的年级,便于助手选用真实技能。
  • 查询账户剩余的练习册额度、套餐类型与额度重置日期。
  • 生成练习册 PDF,可指定技能、年级、主题配色、样式、难度、标题、页数、答案页、分步解答、专项练习、乘法表和图形。
  • 把生成的 PDF 保存到指定输出文件夹,文件名不会重复。
适用场景
适合教师、家教和家长在 Claude Desktop、Claude Code、Cursor 等 MCP 客户端里用一句话生成可打印的数学练习纸,无需打开网站。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node 18 或更高版本,无需自建服务。需要 Mathter 账户,并通过环境变量 MATHTER_API_KEY 提供 API 密钥。可选 MATHTER_OUT_DIR 指定保存位置,默认是下载文件夹。
安装前请注意
该 API 密钥会消耗账户的每月练习册额度,应视为机密;它只发送到 Mathter 的生成接口,可随时吊销。生成会消耗套餐额度,计费方式与网站生成相同;免费套餐限制练习册大小和样式。练习册会作为文件写入输出文件夹,文件夹不存在时会自动创建。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mathter,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mathter-mcp

Ask your AI assistant for a math worksheet pack. Get a printable PDF on your computer.

"Make me a grade 4 times-tables pack for Friday."

→ mathter-grade-4-multiplication-2026-10-04-1532.pdf in your Downloads folder, answer keys included. (Cover and lesson pages come with the Standard plan and up.)

This is a small Model Context Protocol server that connects Mathter to Claude Desktop, Claude Code, Cursor, or any other MCP client. It does one thing: it turns a plain-English request into a real worksheet pack from your own Mathter account, saved as a file you can open and print.

You need a Mathter account and an API key. Both are free to start: the free plan makes packs of up to 2 worksheets with answer keys, and paid plans raise the size and add cover and lesson pages.


Setup (about two minutes)

1. Get your key

Sign in at mathter.ca/account, find API access, and create a key. It looks like mk_live_… and is shown once — copy it before you close the page. If you lose it, revoke it and make another; that is normal and costs nothing.

2. Tell your assistant about it

Claude Desktop — open Settings → Developer → Edit Config, and add the mathter entry to the mcpServers section (or merge this block into your config file). If the file already holds other settings such as preferences, mcpServers goes next to them at the top level, not inside them — inside preferences it is silently ignored:

json
{  "mcpServers": {    "mathter": {      "command": "npx",      "args": ["-y", "mathter-mcp"],      "env": { "MATHTER_API_KEY": "mk_live_YOUR_KEY" }    }  }}

Then fully quit Claude Desktop (right-click its icon in the system tray and choose Quit — closing the window leaves it running) and open it again. (The config file lives at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows, if you would rather edit it directly.)

Claude Code — one command:

bash
claude mcp add mathter --env MATHTER_API_KEY=mk_live_YOUR_KEY -- npx -y mathter-mcp

Cursor, Windsurf and friends — same JSON block as Claude Desktop, in whatever file that app uses for MCP servers. Some editors (Zed, for instance) wrap the entry differently — check their MCP docs for the exact shape; the command, arguments and MATHTER_API_KEY are the same everywhere. The server speaks stdio; there is nothing to host and no port to open.

You do not need to install anything first. npx -y mathter-mcp downloads it from npm on demand, so the first start takes a little longer than later ones. You need Node 18 or newer.

3. Ask for worksheets

"What math skills can Mathter do for grade 3?" "Make a 5-page grade 3 subtraction pack called Warm-Ups, easy difficulty." "A blank multiplication chart for grade 4." "How many Mathter packs do I have left this month?" "Ten worksheets of grade 6 fractions, hard, with worked solutions."

The assistant replies with the path to the PDF. Open it and print.


What the assistant can do

list_skills

Asks mathter.ca which skills exist right now and which grades each one covers. Your assistant should call this before generating, so it picks a real skill rather than guessing. No key is sent — that list is public.

check_allowance

Tells you how many packs your account has left, which plan it is on, and the date the allowance resets. It uses nothing, so ask any time: "How many Mathter packs do I have left?"

generate_worksheet_pack

Makes the pack. Only skill and grade are required; everything else has a sensible default.

OptionWhat it doesNotes
skillRequired. Which skill to drill, e.g. multiplicationMust be one list_skills returns, and must be taught at that grade
gradeRequired. 0 (kindergarten) to 12—
themeOne of ten colour palettesDefaults to teal; every plan has all ten
stylemodern, classic, notebook, studio, ledger, blueprintPlan-gated: free has modern, Standard adds classic/notebook, Premium has all six
difficultyeasy, medium, hardDefault medium
titlePrinted on the packDefault "Math Lesson", trimmed at 80 characters
worksheetCountHow many sheetsCapped by plan: free 2, Standard 10, Premium 25. Left out, you get 10 or your cap, whichever is smaller
problemsPerPageQuestions per pageDefault 12, capped by what fits the page
includeAnswerKeysAnswer keysOn by default
includeCover / includeLessonCover page, "how to" pageOn by default, Standard and up
workedSolutionsStep-by-step solutions in the keyWhere the skill has steps authored
focus / focusOrderSingle-number drill, e.g. the 7 times tableAddition, subtraction, multiplication, division only
chart{ "mode": "filled" } or "blank" — a times-table chartMultiplication only
timedMad-minute drillThe four fact skills only
diagrams, graphBlank, unitSystemGeometry figures, blank grids (default; graphBlank: false for labelled), metric/imperialOnly where the skill uses them
shopNameBranding name on the packPremium only; otherwise quietly replaced
seedReproduce an identical packDefault random

Your logo comes from your Mathter account, not from here — upload it once at mathter.ca and every pack carries it, however the pack was made.


Configuration

VariableRequiredDefault
MATHTER_API_KEYyes— (the server refuses to start without it)
MATHTER_BASE_URLnohttps://mathter.ca
MATHTER_OUT_DIRnoyour Downloads folder, or the system temp folder if there isn't one

Set MATHTER_OUT_DIR if you would rather packs landed in, say, a shared school folder:

json
"env": {  "MATHTER_API_KEY": "mk_live_YOUR_KEY",  "MATHTER_OUT_DIR": "/Users/you/Documents/Worksheets"}

The folder is created if it does not exist. Names never collide: a second pack of the same kind in the same minute becomes …-2.pdf.


Billing, in one paragraph

Packs made here are billed to your Mathter account exactly as if you had made them on the website: same plan, same monthly allowance, same caps on pack size and styles. There is no per-call charge and no separate API plan. Run out of credits and the assistant will tell you so in those words. Plans are at mathter.ca/pricing.

Your key

Your key stays on your machine. This server sends it to one place — the Authorization header of POST https://mathter.ca/api/generate — and nowhere else. It is never sent to the public skills endpoint, never written to a file, and never included in anything the server prints or hands back to the assistant: all output is filtered for key-shaped text first, including error messages that came from the server. That matters because chat transcripts get pasted into emails and bug reports.

If a key is ever exposed anyway, revoke it at mathter.ca/account; revocation takes effect immediately. A key can spend your account's allowance; it cannot change your branding, your password, or your billing, and it cannot create other keys.

When something goes wrong

The server answers in sentences, not status codes. The ones you may meet:

What you seeWhat to do
"MATHTER_API_KEY is not set"The key never reached the server — check the env block and restart the app
"Mathter did not accept the API key"Wrong, mistyped, or revoked. Make a new one at mathter.ca/account
"Out of worksheet credits for the month"The allowance resets next billing period, or upgrade
"That style is not available on this account's plan"Drop the style, or upgrade
"This account is not allowed to generate packs"An admin/support account, or a school licence that no longer covers you
"Mathter is rate-limiting this API key"One pack at a time; wait the time it names. Your key is fine, nothing needs revoking
"Mathter is rate-limiting the public skill list"Per-computer limit on the skill list, which never sends your key. Wait a minute
"The renderer is busy"Backpressure, not breakage. Retry in half a minute; nothing was charged
"Mathter rejected that configuration"Usually a skill that isn't taught at that grade — ask for the skill list again

Still stuck? mathter.ca/contact.


For developers

A thin HTTP client over two endpoints, stdio transport. One direct runtime dependency — @modelcontextprotocol/sdk — which brings its own tree, so a real install is around 90 packages, the SDK's HTTP-transport dependencies among them. No telemetry, no analytics, no network calls other than the two documented above. MATHTER_BASE_URL points it at a dev instance.

bash
npm ci           # a lockfile is committed; plain `npm install` may need --legacy-peer-depsnpm test         # vitest, against a local stub HTTP server — never the real APInpm run typechecknpm run build    # tsc -> dist/

The published tarball is dist/, this README and the licence; sources and tests stay in the repository.

MIT licensed. Mathter is at mathter.ca; the API itself is documented at mathter.ca/api.

来源:README.md,提交 ca73805

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.0最新Oct 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分