mcpField
J
Jarroba Tools · Calculation

Jarroba Tools · Calculation

本地服务
github.com/Invarato科研与教育03 天前更新

关于 Jarroba Tools · Calculation

Jarroba Tools · Calculation 是本地 MCP 服务,用于处理看似合理却可能悄然出错的计算,面向需要单位运算、方程求解、求导或验证步骤的 AI 系统和用户。

主要功能

  1. 01支持带单位运算和量纲检查
  2. 02求解方程与线性方程组
  3. 03运行多行计算表
  4. 04计算保留单位的精确符号导数
  5. 05提供特定问题的验证步骤

适用场景

  1. 01换算数值并保留单位
  2. 02求解方程并查看搜索区间
  3. 03使用可复用变量执行计算
  4. 04检查导数或方程的推导步骤

MCP 相关

通过本地 stdio 向 MCP 客户端提供五种计算工具。可用 npx 将此包添加到 MCP 主机,并在用户机器上运行。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"invarato-jarroba-tools-calc": {
"command": "npx",
"args": [
"-y",
"@jarroba/mcp-calc"
],
"env": {
"JARROBA_MCP_DOMAINS": "<JARROBA_MCP_DOMAINS>"
}
}
}
}
启动命令npx -y @jarroba/mcp-calc
需要配置的环境变量
JARROBA_MCP_DOMAINSWhich tool domains to publish, comma-separated. Defaults to what this package is for. Valid: core, calc, diagram, kg, db, ai, logs, queue, project, tests, api, chip, chem, access, archsim, security, experiments, payroll. Fewer domains means less of your context window spent on tool definitions.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@jarroba/mcp-calc0.3.0

工具

5

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

参数类型必填说明
expressionstring是例如:"100 km/h to m/s" 或 "sqrt(2)^2 + 2^10"

详细介绍

@jarroba/mcp-calc

为语言模型常算错的数学问题提供 MCP 服务——尤其是那些错得 悄无声息 的问题。

claude mcp add jarroba-calc -- npx -y @jarroba/mcp-calc
// Claude Desktop, Cursor, Cline, VS Code…
{ "mcpServers": { "jarroba-calc": { "command": "npx", "args": ["-y", "@jarroba/mcp-calc"] } } }

5 个工具 · 约 1.6k 个上下文 token · stdio,在你的机器上运行 · 不会上传任何内容,也不需要 API 密钥。

为什么要做这个项目

模型算错 17 * 23 并不是问题:这种错误很容易发现。真正的问题是答案看起来正确。

  • 5 km + 300 m。 这不是什么难题——但答案是 305、5.3,还是 5300?单位换算错误会产生一个数字,而不是报错;这个数字还会进入下一个公式。
  • x^3 - 1 = 0。「x = 1」确实正确,但也只占答案的三分之一。工具如果到这里就停下,什么也不说,就会让调用者以为没有其他解。
  • 9.8 m/s^2 * t^2 / 2。 这里的 m、s 和 t 既是单位名称,也是普通的变量名。读错它们,就会得到一个看似合理、但量纲错误的量。

因此,这里的每个工具都会报告结果有多可靠,而不只是报告它找到了什么:结果是精确还是近似、搜索区间是什么、还有多少个复根未显示,以及哪些名称被识别为单位。它们绝不会用看似合理的内容来填补空缺。

工具

calc_eval带单位的算术运算和量纲检查:100 km/h to m/s、5 km + 300 m、70 kg to lbs、det([[1,2],[3,4]])。米和千克相加会报错,而不是悄悄给出一个数字。会标记非有限结果(NaN、±∞),并说明哪些名称被识别为单位
calc_solve单个方程(x^2 - 5x + 6 = 0、sin(x) = 0.5)或线性方程组,每行一个方程。会说明答案是精确还是近似、搜索区间、所用多项式的次数,以及未显示的复根数量。绝不虚构它没有找到的根
calc_sheet多行计算表,每行都显示结果。变量会向下传递,单位会随数值一起传递,# 用于开始注释,ans 表示上一个结果;即使出错,也只会影响对应行,不会让整张表停止运行。使用 # @moneda USD = 1.08 EUR 声明货币——汇率由你提供,因此明年计算结果仍然相同。可选输出 Markdown 表格
calc_derive精确的符号求导,保留单位:d/dx (3 m * x) 的结果是 3 m,而不是 3。支持高阶求导,也可以计算某个点上的结果。当变量不在表达式中时,不会回答「0」,因为对错误的问题给出正确的零,是最糟糕的答案
calc_steps经过验证的解题步骤:线性或二次方程、导数(注明使用的法则),或逐行高斯消元。如果无法解释某种情况,会返回 covered: false,而不是编造看似合理的推导——如果要给人阅读,这一点至关重要

不支持的功能

  • 不支持符号化简。 这原本是显而易见的第六个工具,但经过测试后被放弃了:引擎不会处理 (x+1)^2 - (x-1)^2(结果是 4x),也不认识 sin²+cos²=1。如果工具把用户输入原样返回,却标成 “已化简”,那还不如没有这个工具,因为调用者无法分辨这是「已经最简」还是「我做不到」。
  • 不支持积分、极限和不等式。 这些功能不受支持;我们在这里直接说明,而不是让你在不合适的时候才发现。
  • 方程次数高于 2 时不提供步骤。calc_solve 仍然会给出精确答案;缺少的是解题说明,而 calc_steps 会在每次响应中指出它支持哪些情况。

来源

引擎使用的代码与 jarroba.com/tools 上的计算器相同——纯 TypeScript,约 200 个单元测试,无需服务端。这个包是完整工具目录中筛选出的计算领域工具;如果你需要其他 95 个工具(日志、测试、SQL、SPARQL、图表等),请改为安装 @jarroba/mcp。你也可以不切换包,直接扩展当前包:JARROBA_MCP_DOMAINS=calc,core。

MIT 许可。这里的任何内容都不会与网络通信。源码:github.com/Invarato/jarroba-mcp。

评论

支持 Markdown

第一次接触 MCP?

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

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