mcpField
J
Jarroba Tools · Calculation

Jarroba Tools · Calculation

Local
github.com/InvaratoScience & Education0Updated 3d ago

About Jarroba Tools · Calculation

Jarroba Tools · Calculation is a local MCP server for calculations where plausible-looking errors can go unnoticed. It is aimed at AI systems and users who need unit-aware arithmetic, equation solving, derivatives, or verified worked steps.

Key features

  1. 01Arithmetic with units and dimensional checks
  2. 02Solve equations and linear systems
  3. 03Multi-line calculation sheets
  4. 04Exact symbolic derivatives with units
  5. 05Verified steps for selected problems

Use cases

  1. 01Convert quantities while preserving units
  2. 02Solve equations and review searched intervals
  3. 03Run calculations with reusable variables
  4. 04Inspect steps for a derivative or equation

MCP support

Exposes five calculation tools to MCP clients over local stdio. The package can be added to an MCP host with npx and runs on the user's machine.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"invarato-jarroba-tools-calc": {
"command": "npx",
"args": [
"-y",
"@jarroba/mcp-calc"
],
"env": {
"JARROBA_MCP_DOMAINS": "<JARROBA_MCP_DOMAINS>"
}
}
}
}
Run commandnpx -y @jarroba/mcp-calc
Environment variables to set
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.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@jarroba/mcp-calc0.3.0

Tools

5

Saved tool list · updated 3d ago

ParameterTypeRequiredDescription
expressionstringYese.g. "100 km/h to m/s" or "sqrt(2)^2 + 2^10"

Details

From the project README

@jarroba/mcp-calc

An MCP server for the maths a language model gets wrong — and, above all, for the ones it gets wrong silently.

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 tools · ~1.6k tokens of context · stdio, runs on your machine · nothing is uploaded, no API key.

Why this exists

A model that gets 17 * 23 wrong is not the problem: that one is easy to catch. The problem is the answer that looks right.

  • 5 km + 300 m. Not a hard sum — but is the answer 305, 5.3, or 5300? A dimensional slip produces a number, not an error, and the number travels into the next formula.
  • x^3 - 1 = 0. «x = 1» is true, and it is also only a third of the answer. A tool that stops there and says nothing teaches the caller that there was nothing else.
  • 9.8 m/s^2 * t^2 / 2. Here m, s and t are all names of units and perfectly ordinary variable names. Read them wrong and you get a plausible quantity in the wrong dimension.

So every tool here reports how sure it is, not just what it found: exact or approximate, over which interval it searched, how many complex roots it is not showing, and which names it read as units. The one thing none of them will do is fill a gap with something plausible.

The tools

calc_evalArithmetic with units and dimensional checking: 100 km/h to m/s, 5 km + 300 m, 70 kg to lbs, det([[1,2],[3,4]]). Adding metres to kilos is an error, not a silent number. Flags results that are not finite (NaN, ±∞), and says which names it read as units
calc_solveOne equation (x^2 - 5x + 6 = 0, sin(x) = 0.5) or a linear system, one equation per line. Says whether the answer is exact or approximate, over which interval it searched, the degree of the polynomial and how many complex roots are not shown. Never invents a root it did not find
calc_sheetA multi-line calculation sheet with the result of every line. Variables carry downwards, units travel with the value, # starts a comment, ans is the previous result, and an error stays on its own line instead of killing the sheet. Declare currencies with # @moneda USD = 1.08 EUR — you supply the rate, so the sheet still computes the same thing next year. Optional Markdown table out
calc_deriveExact symbolic derivatives that keep the units: d/dx (3 m * x) is 3 m, not 3. Higher orders, and can evaluate the result at a point. Refuses to answer «0» when the variable is not in the expression, because a correct zero for the wrong question is the worst answer there is
calc_stepsThe worked steps, verified: a linear or quadratic equation, a derivative (naming the rule), or Gaussian elimination row by row. When it cannot explain a case it returns covered: false instead of writing a plausible derivation — which is the point, if a person is going to read it

What it will not do

  • No symbolic simplification. It was the obvious sixth tool and it was dropped after measuring: the engine leaves (x+1)^2 - (x-1)^2 untouched (it is 4x) and does not know sin²+cos²=1. A tool that hands back your own input under the label "simplified" is worse than no tool, because the caller cannot tell «already simplest» from «I could not do it».
  • No integrals, no limits, no inequalities. Not supported, and said so here rather than discovered at the wrong moment.
  • Steps beyond degree 2 for equations. calc_solve still answers exactly; what is missing is the explanation, and calc_steps says which cases it covers in every response.

Where it comes from

The engine is the same code that runs the calculator at jarroba.com/tools — pure TypeScript, ~200 unit tests, no server. This package is the whole catalogue filtered down to the calculation domain; if you want the other 95 tools (logs, tests, SQL, SPARQL, diagrams…), install @jarroba/mcp instead. You can also widen this one without switching packages: JARROBA_MCP_DOMAINS=calc,core.

MIT. Nothing here talks to the network. Source: github.com/Invarato/jarroba-mcp.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.