Atomic mathematics for agents: discover one typed operation, run it, and compose its bounded result.
Jacobian is an MCP server that gives AI agents two tools for high-level
mathematics. math.find discovers typed mathematical operations and
math.run executes one selected operation. The same mathematical library is
also available through a CLI and native Python API.
Run the canonical Python MCP command without installing Jacobian globally:
uvx --from jacobian jacobian-mcpWhere an MCP host requires an npm command, the npm package is a deterministic carrier for that same command:
npx jacobian mcpFor a persistent installation:
python -m pip install jacobian
jacobian-mcpThat 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.
The Python distribution contains the mathematical kernel, CLI, and MCP server.
The npm package contains no lifecycle manager or JavaScript API; it only maps
its exact package version to the corresponding uvx invocation.
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; Jacobian retains no project state or artifact store.
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; and
- Lean source elaboration.
SAT and SMT operations use the maintained Z3 Python binding directly. The
optional lean.check operation runs one bounded source snippet in the fixed
Lean service environment. It creates only a request-scoped temporary directory
and returns typed diagnostics; it does not expose a proof-state session or
retain source. Use math.find to search for an operation, browse an unfamiliar
domain, and inspect one operation before calling math.run once.
See the domain operation library for the maintained operation portfolio and backend requirements.
Jacobian 0.11.0 is pre-stable. Its published package and operation contracts describe the supported surface; experimental operation contracts may change between releases.
- Documentation home — tutorials, how-to guides, reference, and explanations
- Architecture — runtime structure and trust boundaries
- Product model — operation contracts, ownership, and project boundaries
- Tool reference — MCP resources and invocation contracts
- Backend requirements — maintained Python backends and optional Lean
- Remote deployment — HTTP deployment and authentication
Jacobian uses Python 3.12, uv, and a small Makefile:
make setup
make test-unit
make checkRead CONTRIBUTING.md before changing code. It documents focused test commands, verification rules, documentation placement, and pull-request expectations.
