Skip to main content

An archival-style black-and-white photograph of a mathematician working at a chalkboard, with a constant Jacobian determinant and three distinct inputs mapping to one output.

Jacobian

Pure mathematics for agents: search for examples and counterexamples, compute exactly, and independently check what a result proves.

CI PyPI npm Supported Python versions MIT license

Jacobian is a collection of mathematical operations for AI agents. It runs as an MCP server and is also available as a CLI and Python library. Agents can use it to compute invariants, search for examples or counterexamples, work with solver artifacts, and check formal proofs.

Quickstart

For a one-time setup:

npx jacobian setup

For a guided user-local install:

curl -fsSL https://raw.githubusercontent.com/morluto/jacobian/main/npm/install.sh | sh

The installer resolves an npm release to an exact version, installs the small launcher without lifecycle scripts, configures selected MCP clients, and verifies the local server. The Python package environment is approximately 160 MB; if Python 3.12 is not already available, uv's managed Python adds about 110 MB. Add --defer-runtime to postpone both until first use:

curl -fsSL https://raw.githubusercontent.com/morluto/jacobian/main/npm/install.sh | \
  sh -s -- --client codex --yes --defer-runtime

For repeated use:

npm install -g jacobian
jacobian setup
jacobian upgrade
jacobian doctor

For the Python distribution:

python -m pip install jacobian

That package includes Jacobian's exact maintained Python backend stack: SymPy, NetworkX, Z3, Python-FLINT, and cvc5. 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.

The launcher supports Claude, Codex, Cursor, Gemini, and OpenCode. It requires Node.js 18 or newer plus CPython 3.12/3.13 or uv; the guided installer can install its pinned uv release after confirmation. Run jacobian mcp to start the server directly.

The Python distribution contains the mathematical kernel, CLI, and MCP server. The npm package is a sub-100 KB thin launcher and MCP client installer for that same implementation; it is not a separate JavaScript API. It bundles one TOML parser for fail-closed Codex configuration updates and runs no install-time scripts. The larger download is the local Python mathematical runtime, not a JavaScript dependency tree.

To run the exact code in a clone, follow Configure an agent from a source checkout.

Compute, then check when needed

An ordinary operation returns mathematics first. For example, matrix.determinant.compute accepts one exact rational matrix and returns its determinant inline. If independent replay matters, the agent may separately run matrix.determinant.verify with that exact input and candidate result.

The producer and checker are distinct catalog IDs with independent implementations. Computation does not certify itself, and a timeout, cancellation, error, or incomplete bounded search remains a non-conclusion.

The introductory tutorial runs this determinant pair through the public MCP surface.

Available mathematics

The installed operations vary with optional external providers, but the maintained portfolio covers work in:

  • polynomial maps and polynomial algebra;
  • exact linear algebra;
  • graphs, paths, colorings, and isomorphism;
  • SAT and SMT models and proof artifacts;
  • finite and universal algebra;
  • polytopes; and
  • Lean declaration discovery and proof checking.

Some operations require optional native or formal backends. Catalog membership means an operation is installed and invocable; it does not grant verification authority. Read capability://catalog or use math.find to inspect the current environment. Use math.run to invoke a selected operation.

See the domain operation library for the maintained operation portfolio and native and formal provider setup for provider requirements.

Verification model

Jacobian separates mathematical production from independent checking. A producer cannot certify its own output.

Subject + Candidate → Independent checker → Bound record

Only an operator-authorized checker may emit a verified record, bound to the exact subject, candidate, evidence, protocol, scope, semantics, certificate format, and checker identity. Availability and provider provenance do not grant that authority.

No witness is not proof. A failed search, timeout, cancellation, error, or completed bounded search without a witness leaves the claim UNKNOWN.

The architecture document describes the complete trust boundary.

Status

Jacobian 0.11.0 is a pre-stable release. Its published package, capability, and artifact contracts describe the current supported surface; ongoing capability research may change experimental contracts between releases.

Documentation

Contributing

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

make setup
make test-unit
make check

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

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jacobian-0.12.0.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jacobian-0.12.0-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file jacobian-0.12.0.tar.gz.

File metadata

  • Download URL: jacobian-0.12.0.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jacobian-0.12.0.tar.gz
Algorithm Hash digest
SHA256 82ee9804537c1db5845fa5868cf8b9e5b71a80e4b3b81df08298c5cdd804c289
MD5 17ceb1b8810564a64a1c45fa4ef49c64
BLAKE2b-256 efc79d984dd5b0cc0cfa6b1cc88a535369a429cc0601fd53e63025f25ab1c205

See more details on using hashes here.

Provenance

The following attestation bundles were made for jacobian-0.12.0.tar.gz:

Publisher: release.yml on morluto/jacobian

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jacobian-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: jacobian-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jacobian-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27e8e2ecd96aad4707e1a2007b9bcd322d2adc93746dc08f9f23a5f11272990f
MD5 2f9caa4345d73f236746a6aec5c41287
BLAKE2b-256 bdb1233d73939ad754511e5274fc47102b1b83f8f79c04d0c93196fae5c04f0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for jacobian-0.12.0-py3-none-any.whl:

Publisher: release.yml on morluto/jacobian

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.2

2 files

0.15.1

2 files

0.14.0

2 files

0.13.0

2 files

This release

0.12.0 This release

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page