关于 Jacobian
Jacobian 是为 Agent 提供可搜索、可组合的类型化数学操作的 MCP 服务,适合需要执行和独立核验数学计算的 Agent。操作返回有界结果,并明确标示近似、不完整或不确定性;同一数学库也提供 CLI 和 Python API。
主要功能
- 01搜索并检查数学操作契约
- 02执行类型化数学操作并返回结果
- 03组合操作以构建解答
- 04标明近似、不完整或不确定性
- 05提供 CLI 和 Python API
适用场景
- 01计算矩阵行列式等精确结果
- 02组合整数、线性代数或图论操作
- 03让 Agent 检查数学操作并执行计算
MCP 相关
Jacobian MCP 服务向 MCP 客户端提供 math.find 和 math.run,用于搜索、检查并执行类型化数学操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
英语 · 简体中文
Jacobian
为 Agent 提供可执行的数学词汇:发现一个类型化操作,运行它,并组合其结果。
Jacobian 是一个 MCP 服务,为 AI Agent 提供可搜索的类型化数学操作词汇。math.find 可匹配数学需求或检查某个精确契约,math.run 则执行该操作并返回其类型化结果。同一数学库也可通过 CLI 和原生 Python API 使用。
每个操作都会确立一个稳定、可复用的数学后置条件,而不是规定工作流或证明策略。凡是声称精确的结果都精确无误;对于近似、不完整或不确定之处,也会明确说明。
Jacobian 的假设是:数学推理能从语义范围明确、边界清晰的可执行操作词汇中受益。 Jacobian 不暴露大型领域求解器或预先组合的工作流,而是提供数学原语,供 Agent 搜索并组合成解决方案,处理超出任何单个操作原定能力范围的问题。该库提供可信赖的数学操作;推理模型决定采用哪些操作、如何组合其结果,以及何时停止。保持操作在语义上范围明确且归属特定领域,可以保留这一搜索空间,而不是将某种证明策略或工作流固化到工具本身。
请参阅可执行的数学词汇,了解语义原子性意味着什么,以及操作词汇如何扩展。
快速开始
只需一条命令,即可为你的 Agent 设置 Jacobian。设置命令要求
Node.js 20.17+、22.13+ 或 23.5+,并且 uvx 位于你的 PATH 中。
npx jacobian@latest setup
选择检测到的 Agent,并在写入更改前检查这些更改。设置过程不会安装 Node.js、Python、uv 或 Agent。对于自动化,请使用 npx jacobian@latest setup --codex --dry-run 预览明确的计划;仅在指定了明确的 Agent 标志或使用 --all 时才使用
--yes。
如需显式刷新现有注册,请运行
npx jacobian@latest upgrade 并选择要更新的 Agent。生成的启动器会固定到 npm 解析出的确切版本。
无需全局安装 Jacobian,即可运行标准 Python MCP 命令:
uvx --python 3.12 --from jacobian jacobian-mcp
如果 MCP 主机要求使用 npm 命令,npm 包可作为同一命令的确定性载体:
npx jacobian mcp
如需持久安装:
python -m pip install jacobian
jacobian-mcp
该软件包包含 Jacobian 精确维护的 Python 后端栈:SymPy、 NetworkX、Z3 和 Python-FLINT。因此,常规 Python 或 npm 安装 都能提供相同的内置 Python 后端操作组合。经过测试的二进制安装支持 CPython 3.12 或 3.13,运行于 glibc Linux x86-64;发布门禁会安装构建好的 wheel,并在这两个 Python 版本上启动 Jacobian。其他系统可能有兼容的上游 wheel,但目前尚未纳入经过测试的发布契约。尤其是,Alpine/musl 无法从 PyPI 安装完整的必需栈。
Singular 和 QEPCAD 是可选的系统运行时,仅供少量操作使用。
Python 安装不会配置它们,常规操作也不需要 Docker。Python 调用方可以使用 jacobian.backends.check_backend;MCP 检查会报告服务环境中的可用性。有关确切的覆盖范围和设置方法,请参阅
后端要求。
Python 发行版包含数学内核、CLI 和 MCP 服务。npm 包会将其确切的软件包版本确定性地映射到对应的 uvx 调用。
计算一个有界结果
常规操作会优先返回数学结果。例如,
matrix.determinant.compute 接受一个精确有理数矩阵,并直接返回其行列式。调用方可以将带类型的结果传递给后续操作,以此组合结果。
对于本地终端工作流,请查看确切的已安装契约,并使用 CLI 运行其中一个示例:
jacobian inspect integer.compute.extended_gcd
jacobian run integer.compute.extended_gcd --json '{"left":"84","right":"30"}'
第二条命令会以 JSON 格式返回最大公约数和 Bézout 系数。在 MCP
主机中,使用检查模式下的 math.find 阅读相同的契约,并使用
math.run 传入形状相同的载荷。有关该 Agent 工作流,请参阅发现并调用操作。
可用的数学功能
内置操作组合涵盖以下领域:
- 多项式映射和多项式代数;
- 精确线性代数;
- 图、路径、着色和同构;
- 有界 SAT 和 SMT 求解;
- 有限代数、概率、几何和拓扑。
SAT 和 SMT 操作直接使用维护中的 Z3 Python 绑定。使用
math.find 匹配所需的数学结果,然后对合适的操作使用检查模式,再调用一次 math.run。
状态
Jacobian 0.23.0 处于预稳定阶段。已发布的软件包和操作契约 描述了受支持的功能范围;实验性操作契约可能会在不同版本之间发生变化。
文档
- 文档主页:教程、操作指南、参考资料和说明
- 架构:运行时结构和信任边界
- 产品模型:操作约定、所有权和项目边界
- 工具参考:MCP 资源和调用约定
- 后端要求: 维护的 Python 后端
- 远程部署:HTTP 部署和身份验证
贡献
Jacobian 使用 Python 3.12、uv 和一个精简的 Makefile:
make setup
make affected AFFECTED_BASE=origin/main
修改代码前,请阅读 CONTRIBUTING.md。其中介绍了针对性的测试命令、验证规则、文档存放位置以及拉取请求要求。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。