mcpField
J
Jacobian

Jacobian

本地服务
github.com/morluto科研与教育3353 周前更新

关于 Jacobian

Jacobian 是为 Agent 提供可搜索、可组合的类型化数学操作的 MCP 服务,适合需要执行和独立核验数学计算的 Agent。操作返回有界结果,并明确标示近似、不完整或不确定性;同一数学库也提供 CLI 和 Python API。

主要功能

  1. 01搜索并检查数学操作契约
  2. 02执行类型化数学操作并返回结果
  3. 03组合操作以构建解答
  4. 04标明近似、不完整或不确定性
  5. 05提供 CLI 和 Python API

适用场景

  1. 01计算矩阵行列式等精确结果
  2. 02组合整数、线性代数或图论操作
  3. 03让 Agent 检查数学操作并执行计算

MCP 相关

Jacobian MCP 服务向 MCP 客户端提供 math.find 和 math.run,用于搜索、检查并执行类型化数学操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"morluto-jacobian": {
"command": "npx",
"args": [
"-y",
"jacobian"
]
}
}
}
启动命令npx -y jacobian

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmjacobian0.23.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

英语 · 简体中文

Jacobian

为 Agent 提供可执行的数学词汇:发现一个类型化操作,运行它,并组合其结果。

CI PyPI npm 支持的 Python 版本 MIT 许可证

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 处于预稳定阶段。已发布的软件包和操作契约 描述了受支持的功能范围;实验性操作契约可能会在不同版本之间发生变化。

文档

贡献

Jacobian 使用 Python 3.12、uv 和一个精简的 Makefile:

make setup
make affected AFFECTED_BASE=origin/main

修改代码前,请阅读 CONTRIBUTING.md。其中介绍了针对性的测试命令、验证规则、文档存放位置以及拉取请求要求。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。