SuperAPI AI 工具集

axiom-advanced-math-mcp

Axiom 是一个面向大语言模型(LLM)的精确符号数学工具,基于 Giac/Xcas 计算机代数系统,通过 MCP 服务器和 CLI 两种方式提供数学计算与验证能力。它旨在解决 LLM 在符号数学、精确分数和多步计算中容易出错的问题,提供经过验证的精确结果。Axiom 包含两层计算引擎:math.js 用于快速数值计算(算术、三角函数、矩阵),Giac/Xcas WASM 用于符号计算(微积分、代数、方程求解)。它暴露 3 个 MCP 工具:compute(统一计算网关,解析 CAS 风格问题字符串并路由到相应引擎)、verify(独立验证数学命题,返回 verified、evaluated、confidence、checks_performed 四个字段)、plot(将二维函数渲染为 SVG 图像)。此外还提供引导式 MCP 提示,用于多步工作流。Axiom 可作为 CLI 一次性运行,也可作为 MCP 服务器集成到 Claude Desktop 等客户端,还提供 agent skill 文件。它支持 STDIO 和 HTTP 传输,HTTP 传输无状态。安全方面,默认绑定 127.0.0.1,无认证和速率限制,建议通过反向代理暴露。项目采用 GPL-3.0-or-later 许可证,因为嵌入了 Giac/Xcas。

访问官网

工具介绍

Axiom 是一个面向大语言模型(LLM)的精确符号与数值数学工具,基于 Giac/Xcas 计算机代数系统,通过 Model Context Protocol(MCP)服务器和 shell 命令两种方式提供服务。它以 axiom-math 为名发布在 npm 上。

用途

LLM 在计算中经常出错,尤其是在符号数学、精确分数和多步问题方面。Axiom 通过两层引擎提供经过验证的精确结果:math.js 用于快速数值计算(算术、三角函数、矩阵),Giac/Xcas WASM 用于符号计算(微积分、代数、方程求解)。

主要能力

Axiom 暴露 3 个 MCP 工具:

  • compute:所有数学计算的统一网关。传入 CAS 风格的问题字符串,路由器解析并分派到正确的引擎。它识别 CAS 风格的动词并覆盖多个领域,未识别的输入回退到原始 Giac/Xcas 求值。
  • verify:独立检查数学命题。返回四个字段:verified、evaluated、confidence、checks_performed。其中 evaluated 应首先阅读,当没有检查产生可用答案时为 false,此时 verified: false 表示“未知”而非“反驳”。
  • plot:将二维函数渲染为 SVG 图像,返回 base64 编码的 SVG(包含坐标轴、网格、标签、渐近线检测)以及文本说明。

服务器还注册了引导式 MCP 提示,用于链接 compute/verify 的多步工作流:solve-step-by-step、analyze-function、verify-identity、convert-units、analyze-dataset、solve-ode-system、regression-workflow。

使用方式

作为 CLI 可直接使用,作为 MCP 服务器可配置到任何客户端。作为 agent skill,可放入 skills/axiom-math/SKILL.md,该文件教导 agent 三个命令及其退出码。

安装:包名为 axiom-math,正常使用无需安装,npx 会获取并缓存。也可安装使 axiom-math 命令位于 PATH 中。需要 Node.js >= 20。首次运行下载约 3.8 MB(CAS 引擎编译为 WebAssembly),耗时几秒;后续运行从 npx 缓存读取。

CLI(STDIO 传输):同一二进制文件可作为一次性 CLI 使用,无参数时是 MCP 服务器,带子命令时运行一次计算并退出。退出码:0 成功,1 工具或用法错误,2 verify 检查了命题且为假。2 是数学判定,因此未检查的命题不使用它:解析失败、CAS 无法求值或上标有多种读法的命题以 1 退出且 stdout 无输出。

HTTP 传输是无状态的:每个 POST /mcp 独立处理,不发放 Mcp-Session-Id,请求间不保留会话状态。服务器不发送服务器发起的通知。

适用场景

适用于需要精确符号数学计算的 LLM 应用,如微积分、方程求解、线性代数、组合数学、命题验证等。可作为模型生成结果的第二意见。

限制

  • 结果超过 100,000 字符会被拒绝返回。
  • 某些输入会被拒绝而非回答:算术求值为 NaN(如 0/0)是错误;无限结果会带警告返回;t 检验需要变化;列联表需要非负计数、无全零行或列、行等长、多于一行一列;单因素方差分析需要组内变化且观测数多于组数;数值方法在表达式不依赖于求解或积分的变量时被拒绝,或 CAS 符号回答而非数值时被拒绝。
  • 微分方程组以列表形式书写时会被重写为矩阵形式,返回每个函数的解,组件按方程书写顺序返回,JSON 信封在 components 字段中命名它们。初始条件必须为每个函数在同一给定,或完全不给出。部分集合被拒绝。非线性系统、系数依赖自变量、导数阶数高于一、超过九个方程、CAS 无法完成的系统均被拒绝。
  • 安全:无认证和速率限制。默认绑定地址 127.0.0.1,但 docker/docker-compose.yml 设置 MCP_HOST=0.0.0.0。若暴露端口,应置于认证和限流的反向代理之后。POST /mcp 还验证 Host 头是否在允许列表中(默认 localhost、127.0.0.1、[::1])以阻止 DNS 重绑定。若通过非回环地址访问,需设置 MCP_ALLOWED_HOSTS,否则所有 POST /mcp 请求将得到 403。此检查不是认证。
  • 许可证:GNU General Public License v3.0 或更高版本。Axiom 嵌入 Giac/Xcas(GPL-3.0-or-later),因此组合作品携带相同许可证。通过 MCP 与 Axiom 通信的 agent 不受 GPL 影响,因为它们是独立程序。重新分发 Axiom 本身时需遵守 copyleft 条款。

基准测试

基准测试结果(GLM-5.1,2026 年 5 月):Phase 0 评分器(LaTeX/Unicode 规范化 + 符号等价)是所有数据集的主要价值驱动。CAS-quick 从 26.7%(4 月评分器前)提升到 70%(评分器后)。Omni-MATH ≥7 对当前 LLM+CAS 设置已达上限。完整结果见 benchmark/results/ 和 docs/superpowers/specs/。

构建与测试

WASM 构建(Giac):运行 scripts/build-giac-wasm.sh,使用 docker build 构建 docker/build-giac-wasm/Dockerfile,并将 giac.wasm.js 直接写入 src/server/giac/。需要本地运行 Docker Desktop 或其他 Docker 守护进程。 测试:npm test 运行单元测试,无需构建;npm run test:integration 先构建再测试打包的 dist/ 输出。单元+集成套件 100% 通过率。

项目状态

欢迎错误报告和拉取请求,见 CONTRIBUTING.md。项目经过五个阶段(Phase 0–4)的广泛消融实验,一些实验方法被测试并拒绝,相关文档保留为项目档案。