{
  "markdown": "**English** · [简体中文](README.zh-CN.md)\n\n<p align=\"center\">\n  <img src=\"docs/assets/jacobian-hero.jpg\" width=\"100%\" alt=\"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.\">\n</p>\n\n<h1 align=\"center\">Jacobian</h1>\n\n<p align=\"center\">\n  <strong>An executable mathematical vocabulary for agents: discover one typed operation, run it, and compose its result.</strong>\n</p>\n\n<p align=\"center\">\n  <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>\n  <a href=\"https://pypi.org/project/jacobian/\"><img src=\"https://img.shields.io/pypi/v/jacobian\" alt=\"PyPI\"></a>\n  <a href=\"https://www.npmjs.com/package/jacobian\"><img src=\"https://img.shields.io/npm/v/jacobian\" alt=\"npm\"></a>\n  <a href=\"https://pypi.org/project/jacobian/\"><img src=\"https://img.shields.io/pypi/pyversions/jacobian\" alt=\"Supported Python versions\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/morluto/jacobian\" alt=\"MIT license\"></a>\n</p>\n\nJacobian is an MCP server that gives AI agents a searchable vocabulary of typed\nmathematical operations. `math.find` matches a mathematical need or inspects one\nexact contract, and `math.run` executes it and returns its typed result. The same\nmathematical library is also available through a CLI and native Python API.\n\nEach operation establishes one stable, reusable mathematical postcondition\nrather than prescribing a workflow or proof strategy. Results are exact where\nclaimed and make approximation, incompleteness, or uncertainty explicit.\n\n**Jacobian's hypothesis is that mathematical reasoning benefits from an\nexecutable vocabulary of semantically scoped, bounded operations.** Rather than\nexposing large domain solvers or precomposed workflows, Jacobian exposes\nmathematical primitives that agents can search for and compose into solutions\nbeyond what any individual operation was designed to solve. The library\nsupplies trustworthy mathematical moves; the reasoning model decides which\nmoves to make, how to combine their results, and when to stop. Keeping the\noperations semantically narrow and domain-owned preserves that search space\ninstead of baking one proof strategy or workflow into the tools themselves.\n\nSee [Executable mathematical vocabulary](docs/explanation/executable-mathematical-vocabulary.md)\nfor what semantic atomicity means and how the operation vocabulary grows.\n\n## Quickstart\n\nSet up Jacobian for your agents with a single command. The setup command\nrequires Node.js 20.17+, 22.13+, or 23.5+ and `uvx` on your `PATH`.\n\n```sh\nnpx jacobian@latest setup\n```\n\nChoose detected agents and review the changes before they are written. Setup\ndoes not install Node.js, Python, `uv`, or an agent. For automation, preview\nan explicit plan with `npx jacobian@latest setup --codex --dry-run`; use\n`--yes` only with explicit agent flags or `--all`.\n\nRun the canonical Python MCP command without installing Jacobian globally:\n\n```sh\nuvx --from jacobian jacobian-mcp\n```\n\nWhere an MCP host requires an npm command, the npm package is a deterministic\ncarrier for that same command:\n\n```sh\nnpx jacobian mcp\n```\n\nFor a persistent installation:\n\n```sh\npython -m pip install jacobian\njacobian-mcp\n```\n\nThat package includes Jacobian's exact maintained Python backend stack: SymPy,\nNetworkX, Z3, and Python-FLINT. A normal Python or npm installation\ntherefore exposes the same built-in Python-backed operation portfolio. The\ntested binary-install contract is CPython 3.12 or 3.13 on glibc Linux x86-64;\nthe release gate installs the built wheel and starts Jacobian on both Python\nversions. Other systems may have compatible upstream wheels, but are not part\nof the tested release contract yet. In particular, Alpine/musl cannot install\nthe complete mandatory stack from PyPI.\n\nThe Python distribution contains the mathematical kernel, CLI, and MCP server.\nThe npm package deterministically maps its exact package version to the\ncorresponding `uvx` invocation.\n\n## Compute one bounded result\n\nAn ordinary operation returns mathematics first. For example,\n`matrix.determinant.compute` accepts one exact rational matrix and returns its\ndeterminant directly. Callers compose results by passing their typed values to a\nsubsequent operation.\n\nFor a local terminal workflow, inspect the exact installed contract and run one\nof its examples with the CLI:\n\n```sh\njacobian inspect integer.compute.extended_gcd\njacobian run integer.compute.extended_gcd --json '{\"left\":\"84\",\"right\":\"30\"}'\n```\n\nThe second command returns the gcd and Bézout coefficients as JSON. In an MCP\nhost, use `math.find` in inspection mode to read the same contract and `math.run`\nwith the same payload shape. See [Discover and invoke operations](docs/how-to/invoke-domain-operations.md)\nfor that agent workflow.\n\n## Available mathematics\n\nThe built-in portfolio covers work in:\n\n- polynomial maps and polynomial algebra;\n- exact linear algebra;\n- graphs, paths, colorings, and isomorphism;\n- bounded SAT and SMT solving;\n- finite algebra, probability, geometry, and topology.\n\nSAT and SMT operations use the maintained Z3 Python binding directly. Use\n`math.find` to match the mathematical result needed, then use its inspection\nmode on a promising operation before calling `math.run` once.\n\nSee the [domain operation library](docs/reference/domain-operation-library.md)\nfor the maintained operation portfolio and\n[backend requirements](docs/how-to/backend-requirements.md).\n\n## Status\n\nJacobian 0.18.0 <!-- x-release-please-version --> is pre-stable. Its published package and operation contracts\ndescribe the supported surface; experimental operation contracts may change\nbetween releases.\n\n## Documentation\n\n- [Documentation home](docs/index.md): tutorials, how-to guides, reference,\n  and explanations\n- [Architecture](docs/explanation/architecture.md): runtime structure and\n  trust boundaries\n- [Product model](docs/explanation/product-blueprint.md): operation contracts,\n  ownership, and project boundaries\n- [Tool reference](docs/reference/tools.md): MCP resources and invocation\n  contracts\n- [Backend requirements](docs/how-to/backend-requirements.md):\n  maintained Python backends\n- [Remote deployment](docs/how-to/deploy-remote-mcp.md): HTTP deployment and\n  authentication\n\n## Contributing\n\nJacobian uses Python 3.12, `uv`, and a small `Makefile`:\n\n```sh\nmake setup\nmake affected AFFECTED_BASE=origin/main\n```\n\nRead [CONTRIBUTING.md](CONTRIBUTING.md) before changing code. It documents\nfocused test commands, verification rules, documentation placement, and\npull-request expectations.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 6766,
  "sha": "b9e097380dbfa068f1b6adcac1664473122271352883ff7a5f952d8b048445dd",
  "repo_slug": "morluto/jacobian",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_morluto_jacobian_3e813efe/readme"
}