关于 Ultimath Mcp
Ultimath MCP 使用八种独立引擎计算数学表达式,并并列返回结果及各自的误差保证。它适合需要评估数值可靠性的用户,也能显示不同引擎结果不一致的情况。
主要功能
- 01使用八种引擎计算表达式
- 02比较结果及误差保证
- 03返回精确符号形式
- 04按类别列出支持的函数
- 05处理算术、三角及复数表达式
适用场景
- 01检查数值结果是否可靠
- 02比较不同计算引擎的精度
- 03计算前查询函数列表
MCP 相关
向 MCP 客户端提供通过八种引擎运行表达式的 `evaluate` 工具,以及 `list_functions` 工具。该服务需要 Ultimath API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| expression | string | 是 | 数学表达式,例如 '0.1 + 0.2'、'sin(pi/4)'、'sqrt(2)^2 - 2'、'2*pi'、'2*(3+4)'、'factorial(10)' |
| precision | integer | 否 | 精度的小数位数(默认值为 50)。免费测试版上限为 50;更高的值将在服务器端被拒绝。 |
| format | enum | 否 | 输出格式(默认值为 'fixed')fixed | scientific | auto |
详细介绍
Ultimath MCP
别再幻觉出数字。 一个 MCP 服务,可并行通过八种独立引擎运行每个数学表达式——精确符号、球算术、区间算术、三种不同的任意精度浮点数、延迟符号计算和 IEEE 754,每种引擎都有各自的故障模式——并将八种结果并排列出,让你在它们结果不一致时知道答案在数值上不可靠。
| 引擎 | 功能 |
|---|---|
| 精确符号计算 | 精确算术:确定数值,而非近似计算 |
| 多精度计算 | 球算术,保留严格的误差半径 |
| 区间算术 | 严格的下界和上界(保证包含真值) |
| 二进制浮点数 | 任意精度二进制浮点数,底层不使用 GMP |
| PARI/GP | 编译时不使用 GMP:采用自己的整数和超越函数内核 |
| NTL RR | 精确整数尾数 × 2^e;只有运算时才舍入 |
| 延迟符号计算 | 求值前先重写:抵消项永不舍入 |
| IEEE-754 双精度 | 标准硬件浮点数 |
每种引擎能为结果担保什么
读取八个数值只是答案的一半。每种引擎还会说明它对自己的结果能担保到什么程度——而这三种回答并非同一等级:
| 字段 | 引擎所表达的意思 |
|---|---|
"exact": true | 它持有精确值。显示结果是该值的截断:无论你继续要求多少位,每一位都是这个数本身的数字,而非更接近真值的近似值。 |
"digits": N | 它自己的误差界限涵盖前 N 位有效数字。0 也是一个真实答案——这就是灾难性消去对数值造成的影响。 |
| 两者皆无 | 它没有携带任何误差界限。它按你的要求打印了那么多位,但无法对其中任何一位做出保证。 |
最后一行不等于 0,这正是其他引擎存在的原因。八种引擎中有五种天生就具备误差保证。
对于 exp(pi*sqrt(163)) - 262537412640768744,一种引擎会打印 63 位,其中 34 位正确,却对此只字不提。另两种引擎能证明 33 位,然后就此止步。一种引擎则精确持有该值。只看八个数值,你无法知道它们分别属于哪种情况。
任何引擎都不会被要求评判另一种引擎:每种说法都只针对自身。
精确引擎
calcium 会判定等式是否成立,而不是比较数字;它能到达其他引擎只能逼近的极点(tan(pi/2) 是 uinf);当打印出的数字只是截断结果时,它还会返回闭式表达——sqrt(2)+1 会以普通形式和 LaTeX 形式返回 Add(Sqrt(2), 1),而 acosh(0.5) 会返回 Div(Mul(NumberI, Pi), 3)——也就是命名的数值,而非用于存储它的域元素。
HTTP API 中的闭式表达默认关闭("closed_form": true),因为证明闭式表达比读取数字更耗费资源。此客户端始终会请求闭式表达:输出架构承诺提供精确值。
工具
evaluate— 在所有八种引擎上计算表达式并进行比较。支持算术、三角函数(sin、cos、tan)、指数和对数函数(exp、ln、log)、根和幂(sqrt、x^y)、阶乘、复数(3+2i)、其他进制(0xFF、0b1010)和常量(pi、e、黄金比例PHI)。list_functions— 列出各引擎提供的所有函数(名称、参数个数、类别、描述)。可选择按类别筛选。
不同引擎上的比较含义并不相同。对于包围引擎,只有在得到证明后,
!=、<和>才为真;只要无法证明为假,==、<=和>=就为真。这些引擎上的==为真并不代表等式已获证明——只有 calcium 能精确判定这一点——但!=为真则证明两者不同。
乘法必须显式写出:写成
2*pi、2*sin(x)、(a+b)*(c+d)。相邻写法不表示乘法(2pi会报错)。表达式只能包含数学内容——不能使用类型转换或构造函数;复数应写成1+2i。
设置
- 在 https://ultimath.ai 获取免费 API 密钥。
- 将服务添加到 MCP 客户端配置中(Claude Desktop 示例):
{
"mcpServers": {
"ultimath": {
"command": "npx",
"args": ["-y", "ultimath-mcp"],
"env": {
"ULTIMATH_API_KEY": "your_api_key_here"
}
}
}
}
完成后,npx 会按需获取并运行该服务。
要求
- Node.js ≥ 18
- Ultimath API 密钥(
ULTIMATH_API_KEY)
链接
底层技术
Ultimath 的引擎基于 FLINT/Arb、Calcium、GMP/MPFR 和 MPFI 构建,完整致谢请见 https://ultimath.ai/credits。
隐私
Ultimath 仅存储 API 密钥的哈希值和基本使用指标,以运行并保护服务;表达式仅用于计算,不会保留用于训练。完整政策:https://ultimath.ai/privacy/
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。