Jacobian について
Jacobian は、エージェント向けに検索・合成可能な型付き数学操作を提供する MCP サーバーです。計算と結果の独立検証に使え、近似や不確実性も明示します。同じライブラリは CLI と Python API からも利用できます。
主な機能
- 01操作契約の検索と確認
- 02型付き数学操作の実行
- 03操作を組み合わせた解法
- 04近似や不確実性の明示
- 05CLI と Python API の提供
活用シーン
- 01行列式などの厳密な結果の計算
- 02整数、線形代数、グラフ操作の組み合わせ
- 03エージェントによる数学操作の確認と実行
MCP 対応
Jacobian MCP サーバーは math.find と math.run を提供し、MCP クライアントから型付き数学操作を検索、確認、実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
English · 简体中文
Jacobian
エージェントのための実行可能な数学語彙:型付き操作を1つ見つけて実行し、その結果を組み合わせます。
Jacobian は、型付き数学操作を検索できる語彙として AI エージェントに提供する MCP サーバーです。math.find は数学的なニーズに合う操作を検索するか、特定の契約を調べます。math.run はその操作を実行し、型付きの結果を返します。同じ数学ライブラリは、CLI とネイティブの Python API からも利用できます。
各操作は、ワークフローや証明戦略を指定するのではなく、安定して再利用できる数学的な事後条件を1つ確立します。正確であるとうたう結果は厳密であり、近似、不完全さ、不確実性がある場合は明示されます。
Jacobian の仮説は、意味的な範囲が定められた有界操作を実行可能な語彙として提供することで、数学的推論が向上するというものです。 大規模な領域ソルバーやあらかじめ組み合わされたワークフローを公開するのではなく、Jacobian はエージェントが検索し、個々の操作が単独で解くよう設計された範囲を超える解決策へと組み合わせられる数学的プリミティブを公開します。このライブラリは信頼できる数学的な手段を提供し、どの手段を使うか、その結果をどう組み合わせるか、いつ停止するかは推論モデルが判断します。操作の意味的な範囲を狭く保ち、領域ごとに管理することで、特定の証明戦略やワークフローをツール自体に組み込まず、探索空間を維持します。
意味的な原子性と、操作語彙がどのように拡張されるかについては、実行可能な数学語彙を参照してください。
クイックスタート
1 つのコマンドで、エージェント向けに Jacobian をセットアップできます。セットアップコマンドを実行するには、Node.js 20.17+、22.13+、または 23.5+ と、PATH 上の uvx が必要です。
npx jacobian@latest setup
検出されたエージェントを選択し、変更が書き込まれる前に内容を確認してください。セットアップでは、Node.js、Python、uv、またはエージェントはインストールされません。自動化する場合は、npx jacobian@latest setup --codex --dry-run で明示的なプランをプレビューしてください。--yes は、エージェントを明示的に指定するフラグまたは --all と併用する場合にのみ使用してください。
既存の登録を明示的に更新するには、npx jacobian@latest upgrade を実行し、更新するエージェントを選択してください。生成されるランチャーでは、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
このパッケージには、SymPy、NetworkX、Z3、Python-FLINT から成る、Jacobian が正確に保守する Python バックエンドスタックが含まれています。そのため、通常の Python または npm によるインストールで、同じ Python バックエンドを使用する組み込み操作のポートフォリオを利用できます。テスト済みのバイナリーインストールの要件は、glibc Linux x86-64 上の CPython 3.12 または 3.13 です。リリースゲートでは、ビルド済みのホイールをインストールし、両方の Python バージョンで Jacobian を起動します。その他のシステムでも上流の互換性のあるホイールを利用できる場合がありますが、現時点ではテスト済みリリースの要件には含まれていません。特に、Alpine/musl では PyPI から必須スタック全体をインストールできません。
Singular と QEPCAD は、一部の操作でのみ必要となるオプションのシステムランタイムです。Python のインストールではこれらは用意されず、通常の操作に Docker は必要ありません。Python の呼び出し元は jacobian.backends.check_backend を使用できます。MCP の検査機能では、サーバー環境での利用可否が報告されます。対応範囲とセットアップの詳細は、バックエンドの要件を参照してください。
Python ディストリビューションには、数学カーネル、CLI、MCP サーバーが含まれています。npm パッケージは、その正確なパッケージバージョンに対応する uvx の呼び出しを決定的にマッピングします。
有界な結果を 1 つ計算する
通常の操作では、まず数学的な結果が返されます。たとえば、matrix.determinant.compute は正確な有理行列を 1 つ受け取り、その行列式を直接返します。呼び出し元は、型付きの値を後続の操作に渡すことで、結果を組み合わせられます。
ローカルターミナルでのワークフローでは、インストール済みの正確な契約を確認し、CLI でサンプルの 1 つを実行します。
jacobian inspect integer.compute.extended_gcd
jacobian run integer.compute.extended_gcd --json '{"left":"84","right":"30"}'
2 つ目のコマンドは、最大公約数とベズー係数を JSON で返します。MCP ホストでは、検査モードで math.find を使用して同じ契約を読み取り、同じペイロード形式で math.run を呼び出します。このエージェントのワークフローについては、操作の検出と呼び出しを参照してください。
利用可能な数学機能
組み込みの操作ポートフォリオでは、次の分野に対応しています。
- 多項式写像と多項式代数;
- 厳密線形代数;
- グラフ、パス、彩色、同型性;
- 有界 SAT および SMT 求解;
- 有限代数、確率、幾何、位相。
SAT および SMT 操作では、保守されている Z3 Python バインディングを直接使用します。必要な数学的結果に合う操作を math.find で探し、有望な操作が見つかったら、math.run を 1 回呼び出す前に検査モードを使用してください。
保守対象の操作ポートフォリオについては、ドメイン操作ライブラリとバックエンドの要件を参照してください。
ステータス
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。