mcpField
M
Mathter

Mathter

本地服务
mathter.ca科研与教育02 周前更新

关于 Mathter

Mathter 是面向教师和家庭的 MCP 服务,可根据请求使用 Mathter 账户生成 K–12 数学练习册 PDF。它支持查询技能、定制练习册和答案,并将文件保存到本地。

主要功能

  1. 01按年级查询数学技能
  2. 02生成定制练习册
  3. 03附带答案和解题步骤
  4. 04将 PDF 保存到指定文件夹

适用场景

  1. 01准备分年级数学练习
  2. 02制作专项题目和乘法表
  3. 03查看每月剩余练习册额度

MCP 相关

该服务向 MCP 客户端提供数学技能查询、额度检查和练习册生成功能。它通过 stdio 通信,并将生成的 PDF 保存到本地电脑。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ca-mathter-mathter": {
"command": "npx",
"args": [
"-y",
"mathter-mcp"
],
"env": {
"MATHTER_API_KEY": "<MATHTER_API_KEY>",
"MATHTER_OUT_DIR": "<MATHTER_OUT_DIR>"
}
}
}
}
启动命令npx -y mathter-mcp
需要配置的环境变量
MATHTER_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmathter-mcp0.2.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
seedinteger否固定随机数生成器的种子,以便相同种子可重现相同套装。默认为随机。
chartobject否仅适用于乘法:打印乘法口诀表,而不是练习题。"filled" 表示已填写的参考表,"blank" 表示待填写的表。
chart.modeenum是filled | blank
focusinteger否单个数字练习,例如 7 表示七的乘法口诀。仅适用于四种基本运算技能:加法、减法、乘法和除法。
gradeinteger是年级,0(幼儿园)至 12。必须是所选技能适用的年级;list_skills 会返回每种技能对应的年级。
skillstring是要通过练习题训练的数学技能,例如 "multiplication"。先调用 list_skills,并使用其返回的某个键:可用集合会变化,且所选技能必须适用于指定年级。未知技能或年级不匹配的技能会被拒绝,并返回 400。
styleenum否字体排版/布局预设,默认为 "modern"。受套餐限制;账户无权使用时会直接拒绝:免费账户仅可使用 "modern",Standard 还可使用 "classic" 和 "notebook",Premium 可使用全部六种。除非用户要求特定外观,否则省略此项。modern | classic | notebook | studio | ledger | blueprint
themeenum否练习题套装的配色方案。所有套餐均可使用。默认为青绿色。teal | tangerine | ocean | plum | berry | forest | slate | crimson | grape | cocoa
timedboolean否限时速算练习。仅适用于加法、减法、乘法和除法。
titlestring否打印在套装上的标题,默认为 "Math Lesson"。最多 80 个字符。
diagramsboolean否仅适用于几何技能:使用带标签的图形代替文字提示。其他技能会忽略此项。
shopNamestring否打印在套装上的品牌名称。仅限 Premium;其他账户会静默替换为 "Mathter.ca",且套装仍会生成。学校组织的成员始终使用该组织自己的品牌。
difficultyenum否难度级别,默认为 "medium"。easy | medium | hard
focusOrderenum否专注练习的顺序,默认为 sequential。仅在设置了 focus 时适用。sequential | shuffled
graphBlankboolean否默认情况下,坐标网格为空白(无标签),以便学生自行设置刻度。传入 false 可使用带标签的 ±10 网格。仅对会打印图表的技能有意义。
unitSystemenum否测量题使用的单位制,默认为 metric。主要影响单位换算技能。metric | imperial
includeCoverboolean否打印封面页。默认为 true,但免费账户会静默关闭此项(Standard 及以上套餐)。
includeLessonboolean否打印 "how to" 教学页。默认为 true,但免费账户会静默关闭此项(Standard 及以上套餐)。
worksheetCountinteger否套装中的练习单数量。会限制为账户套餐允许的数量:免费版 2 份、Standard 版 10 份、Premium 版 25 份;即使请求更多也不会有影响,但实际生成数量会更少。若省略,则生成 10 份或套餐上限中较少的数量:免费账户默认生成 2 份。
problemsPerPageinteger否每页题目数,默认为 12。会下调至该技能、年级和版式下实际可容纳的数量;因此,较大的数值只会生成排版最密集且符合要求的页面。
workedSolutionsboolean否在答案中提供逐步讲解的解题过程。仅对已编写步骤的技能有效;其他情况会静默忽略。
includeAnswerKeysboolean否打印答案。所有套餐默认均为 true;发送 false 可省略答案。

详细介绍

mathter-mcp

让 AI 助手为你制作数学练习册套装。在电脑上获取可打印的 PDF。

“给我做一套周五用的四年级乘法表练习册。”

→ 文件 mathter-grade-4-multiplication-2026-10-04-1532.pdf 将保存到你的 Downloads 文件夹中,并附带答案。 (封面和课程页面需使用 Standard 套餐或更高套餐。)

这是一个小型 Model Context Protocol 服务,可将 Mathter 连接到 Claude Desktop、Claude Code、Cursor 或任何其他 MCP 客户端。它只做一件事:根据普通英语请求,从你自己的 Mathter 账户生成一套真正的练习册,并保存为可打开和打印的文件。

你需要一个 Mathter 账户和 API 密钥。两者都可以免费开始使用:免费套餐可生成最多包含 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 下载,因此首次启动会比之后稍慢。你需要 Node 18 或更高版本。

3. 请求练习题

“Mathter 能为三年级提供哪些数学技能?” “制作一套 5 页的三年级减法练习册,名称为 Warm-Ups,难度简单。” “一张空白的四年级乘法表。” “我这个月还剩多少套 Mathter 练习册额度?” “十份六年级分数练习题,难度高,附带详细解答。”

助手会回复 PDF 的路径。打开并打印即可。


助手可以做什么

list_skills

向 mathter.ca 查询当前有哪些技能,以及每项技能适用于哪些年级。助手应在生成内容前调用此工具,以便选择真实存在的技能,而不是凭空猜测。不会发送密钥 ——技能列表是公开的。

check_allowance

告知你的账户还剩多少套练习册额度、当前使用的套餐,以及额度重置日期。此操作不会消耗额度,因此随时都可以询问:“我还剩多少套 Mathter 练习册额度?”

generate_worksheet_pack

生成套装。只需提供 skill 和 grade;其他参数都有合理的默认值。

选项功能备注
skill必填。 要练习的技能,例如 multiplication必须是 list_skills 返回的技能,且该年级会教授此技能
grade必填。 0(幼儿园)到 12—
theme十种配色方案之一默认为 teal;每种套餐方案都包含全部十种配色
stylemodern、classic、notebook、studio、ledger、blueprint由套餐方案决定:免费版提供 modern,Standard 版增加 classic/notebook,Premium 版提供全部六种
difficultyeasy、medium、hard默认为 medium
title显示在套装上的标题默认为 "Math Lesson",超过 80 个字符的部分会被截去
worksheetCount练习单数量受套餐方案限制:免费版 2 份、Standard 版 10 份、Premium 版 25 份。不提供此参数时,数量为 10 份或套餐上限,以较小者为准
problemsPerPage每页题目数量默认为 12,且不超过页面所能容纳的数量
includeAnswerKeys答案页默认开启
includeCover / includeLesson封面页、“操作说明”页默认开启,适用于 Standard 及更高版本
workedSolutions答案页中的分步解答仅适用于已编写步骤的技能
focus / focusOrder单个数字练习,例如 7 的乘法口诀表仅适用于加法、减法、乘法和除法
chart{ "mode": "filled" } 或 "blank" — 乘法表仅适用于乘法
timed限时速算练习仅适用于四种基本运算技能
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.pdf。


计费说明

在此处生成的套装会计入你的 Mathter 账户,计费方式与在网站上生成完全相同:套餐方案、每月额度以及套装大小和样式的限制均相同。没有按调用次数收费,也没有单独的 API 套餐。如果额度用完,助手会直接告知。套餐详情见 mathter.ca/pricing。

你的密钥

你的密钥会保存在你的设备上。此服务只会将密钥发送到一个地方——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"一次只生成一个练习包;请等待提示中所述的时间。密钥没有问题,无需撤销
"Mathter is rate-limiting the public skill list"公共技能列表设有每台电脑的使用限制,不会发送你的密钥。请等待一分钟
"The renderer is busy"这是背压,并非故障。请在半分钟后重试;不会扣费
"Mathter rejected that configuration"通常是所选技能不适用于该年级——请重新请求技能列表

仍然无法解决?mathter.ca/contact。


开发者须知

这是一个通过 stdio 传输的轻量 HTTP 客户端,使用两个端点。只有一个直接运行时依赖项—— @modelcontextprotocol/sdk——它也会引入自己的依赖树,因此实际安装大约包含 90 个软件包,其中包括 SDK 的 HTTP 传输依赖项。没有遥测、分析,也不会进行除上述两个端点之外的网络调用。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/

发布的压缩包包含 dist/、此 README 和许可证;源码与测试保留在代码仓库中。

采用 MIT 许可证。Mathter 的网站为 mathter.ca;API 文档见 mathter.ca/api。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。