PluginBench
MCP Server
Active
MIT

Jacobian MCP Server

io.github.morluto/jacobian

Executable mathematical vocabulary for AI agents: discover, run, and compose typed operations.

What is the Jacobian MCP server?

Jacobian is an MCP server that provides AI agents with a searchable library of typed mathematical operations. It exposes `math.find` to discover operations and `math.run` to execute them with exact results, enabling agents to compose mathematical primitives into solutions. The same operations are available via CLI and native Python API, backed by SymPy, NetworkX, Z3, and Python-FLINT.

Jacobian gives AI agents access to a curated vocabulary of executable mathematical operations covering polynomial algebra, linear algebra, graph theory, SAT/SMT solving, and finite algebra. Rather than exposing large domain solvers, it provides semantically narrow, bounded operations that agents can search for and compose, preserving the agent's reasoning space while ensuring results are exact where claimed and explicit about approximation or uncertainty.

How to install Jacobian

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "jacobian": {
      "command": "npx",
      "args": [
        "-y",
        "jacobian",
        "mcp"
      ]
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • math.find — Search for mathematical operations by need or inspect an exact operation contract
  • math.run — Execute a discovered mathematical operation and return its typed result

Use cases

  • Compute exact polynomial algebra and matrix operations with guaranteed correctness
  • Solve bounded SAT and SMT problems using Z3 backend
  • Analyze graph properties including paths, colorings, and isomorphism
  • Perform finite algebra, probability, geometry, and topology calculations
  • Compose multiple mathematical operations to solve problems beyond individual operation scope

Jacobian MCP server FAQ

What is Jacobian?

Jacobian is an MCP server that exposes a searchable vocabulary of typed mathematical operations. Agents use `math.find` to discover operations and `math.run` to execute them, composing results into solutions.

Is Jacobian free?

Yes, Jacobian is open-source under the MIT license.

How do I install Jacobian?

Run `npx jacobian@latest setup` (requires Node.js 20.17+, 22.13+, or 23.5+ and `uvx`), or install via pip: `python -m pip install jacobian` then run `jacobian-mcp`.

What mathematics does Jacobian support?

Jacobian covers polynomial algebra, exact linear algebra, graph theory, SAT/SMT solving via Z3, and finite algebra, probability, geometry, and topology operations.

Does Jacobian require external dependencies?

The Python distribution includes SymPy, NetworkX, Z3, and Python-FLINT. Singular and QEPCAD are optional system runtimes for a small subset of operations.

What is the stability status?

Jacobian 0.22.0 is pre-stable; published operation contracts are supported, but experimental contracts may change between releases.

README (reference)

Source of truth, from the repository.

English · 简体中文

<h1 align="center">Jacobian</h1> <p align="center"> <strong>An executable mathematical vocabulary for agents: discover one typed operation, run it, and compose its result.</strong> </p> <p align="center"> <a href="https://github.com/morluto/jacobian/actions/workflows/ci.yml"><img src="https://github.com/morluto/jacobian/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://pypi.org/project/jacobian/"><img src="https://img.shields.io/pypi/v/jacobian" alt="PyPI"></a> <a href="https://www.npmjs.com/package/jacobian"><img src="https://img.shields.io/npm/v/jacobian" alt="npm"></a> <a href="https://pypi.org/project/jacobian/"><img src="https://img.shields.io/pypi/pyversions/jacobian" alt="Supported Python versions"></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/morluto/jacobian" alt="MIT license"></a> </p>

Jacobian is an MCP server that gives AI agents a searchable vocabulary of typed mathematical operations. math.find matches a mathematical need or inspects one exact contract, and math.run executes it and returns its typed result. The same mathematical library is also available through a CLI and native Python API.

Each operation establishes one stable, reusable mathematical postcondition rather than prescribing a workflow or proof strategy. Results are exact where claimed and make approximation, incompleteness, or uncertainty explicit.

Jacobian's hypothesis is that mathematical reasoning benefits from an executable vocabulary of semantically scoped, bounded operations. Rather than exposing large domain solvers or precomposed workflows, Jacobian exposes mathematical primitives that agents can search for and compose into solutions beyond what any individual operation was designed to solve. The library supplies trustworthy mathematical moves; the reasoning model decides which moves to make, how to combine their results, and when to stop. Keeping the operations semantically narrow and domain-owned preserves that search space instead of baking one proof strategy or workflow into the tools themselves.

See Executable mathematical vocabulary for what semantic atomicity means and how the operation vocabulary grows.

Quickstart

Set up Jacobian for your agents with a single command. The setup command requires Node.js 20.17+, 22.13+, or 23.5+ and uvx on your PATH.

npx jacobian@latest setup

Choose detected agents and review the changes before they are written. Setup does not install Node.js, Python, uv, or an agent. For automation, preview an explicit plan with npx jacobian@latest setup --codex --dry-run; use --yes only with explicit agent flags or --all.

To refresh an existing registration explicitly, run npx jacobian@latest upgrade and select the agents to update. The generated launcher pins the exact release resolved by npm.

Run the canonical Python MCP command without installing Jacobian globally:

uvx --python 3.12 --from jacobian jacobian-mcp

Where an MCP host requires an npm command, the npm package is a deterministic carrier for that same command:

npx jacobian mcp

For a persistent installation:

python -m pip install jacobian
jacobian-mcp

That package includes Jacobian's exact maintained Python backend stack: SymPy, NetworkX, Z3, and Python-FLINT. A normal Python or npm installation therefore exposes the same built-in Python-backed operation portfolio. The tested binary-install contract is CPython 3.12 or 3.13 on glibc Linux x86-64; the release gate installs the built wheel and starts Jacobian on both Python versions. Other systems may have compatible upstream wheels, but are not part of the tested release contract yet. In particular, Alpine/musl cannot install the complete mandatory stack from PyPI.

Singular and QEPCAD are optional system runtimes for a small subset of operations. The Python installation does not provision them, and ordinary operations do not require Docker. Python callers can use jacobian.backends.check_backend; MCP inspection reports availability in the server environment. See backend requirements for exact coverage and setup.

The Python distribution contains the mathematical kernel, CLI, and MCP server. The npm package deterministically maps its exact package version to the corresponding uvx invocation.

Compute one bounded result

An ordinary operation returns mathematics first. For example, matrix.determinant.compute accepts one exact rational matrix and returns its determinant directly. Callers compose results by passing their typed values to a subsequent operation.

For a local terminal workflow, inspect the exact installed contract and run one of its examples with the CLI:

jacobian inspect integer.compute.extended_gcd
jacobian run integer.compute.extended_gcd --json '{"left":"84","right":"30"}'

The second command returns the gcd and Bézout coefficients as JSON. In an MCP host, use math.find in inspection mode to read the same contract and math.run with the same payload shape. See Discover and invoke operations for that agent workflow.

Available mathematics

The built-in portfolio covers work in:

  • polynomial maps and polynomial algebra;
  • exact linear algebra;
  • graphs, paths, colorings, and isomorphism;
  • bounded SAT and SMT solving;
  • finite algebra, probability, geometry, and topology.

SAT and SMT operations use the maintained Z3 Python binding directly. Use math.find to match the mathematical result needed, then use its inspection mode on a promising operation before calling math.run once.

See the domain operation library for the maintained operation portfolio and backend requirements.

Status

Jacobian 0.22.0 <!-- x-release-please-version --> is pre-stable. Its published package and operation contracts describe the supported surface; experimental operation contracts may change between releases.

Documentation

Contributing

Jacobian uses Python 3.12, uv, and a small Makefile:

make setup
make affected AFFECTED_BASE=origin/main

Read CONTRIBUTING.md before changing code. It documents focused test commands, verification rules, documentation placement, and pull-request expectations.

License

MIT

Related MCP servers

LELeanToken logo

LeanToken

Active

Token-bounded code retrieval for AI agents: find relevant code and keep context windows lean.

19
Rust
Apache-2.0
View repository →
REREA logo

REA

Active

Reverse engineer apps and binaries with AI agents—understand features without source code.

357
TypeScript
MIT
View repository →
FLFlameox logo

Flameox

Active

Bounded local runtime evidence for coding agents—profile, benchmark, and analyze artifacts without workspace setup.

34
Python
MIT
View repository →

Local-first GitHub contribution research workbench

3
Go
MIT
View repository →
CACAN-TAP Verified logo

Free dofollow backlinks for Canadian businesses. Claim, verify, and track NFC tap analytics.

0
JavaScript
MIT
View repository →

GEDCOM CLI and MCP server for AI-assisted family-history research with reviewable changesets.

1
C#
MIT
View repository →