mcpField
J
Jarroba Tools · Calculation

Jarroba Tools · Calculation

ローカル
github.com/Invarato科学・教育03 日前に更新

Jarroba Tools · Calculation について

Jarroba Tools · Calculation は、もっともらしく見える計算ミスを検出するためのローカル MCP サーバーです。単位を扱う計算、方程式の解法、微分、検証済みの計算手順を必要とする AI システムやユーザー向けです。

主な機能

  1. 01単位付き計算と次元チェック
  2. 02方程式と連立一次方程式の解法
  3. 03複数行の計算シート
  4. 04単位を保つ厳密な記号微分
  5. 05対象問題の検証済み手順

活用シーン

  1. 01単位を保った数量の換算
  2. 02方程式を解き探索区間を確認
  3. 03再利用可能な変数で計算を実行
  4. 04微分や方程式の計算手順を確認

MCP 対応

ローカルstdio経由で、5種類の計算ツールをMCPクライアントに提供します。npxでMCPホストに追加でき、ユーザーのマシン上で動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"invarato-jarroba-tools-calc": {
"command": "npx",
"args": [
"-y",
"@jarroba/mcp-calc"
],
"env": {
"JARROBA_MCP_DOMAINS": "<JARROBA_MCP_DOMAINS>"
}
}
}
}
起動コマンドnpx -y @jarroba/mcp-calc
設定が必要な環境変数
JARROBA_MCP_DOMAINSWhich tool domains to publish, comma-separated. Defaults to what this package is for. Valid: core, calc, diagram, kg, db, ai, logs, queue, project, tests, api, chip, chem, access, archsim, security, experiments, payroll. Fewer domains means less of your context window spent on tool definitions.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@jarroba/mcp-calc0.3.0

ツール

5

掲載時のツール一覧 · 3 日前に更新

パラメーター型必須説明
expressionstringはい例:"100 km/h to m/s" または "sqrt(2)^2 + 2^10"

詳細

@jarroba/mcp-calc

言語モデルが間違える数学、そして何よりも、間違いに気づかないまま答えてしまう数学のための MCP サーバーです。

claude mcp add jarroba-calc -- npx -y @jarroba/mcp-calc
// Claude Desktop, Cursor, Cline, VS Code…
{ "mcpServers": { "jarroba-calc": { "command": "npx", "args": ["-y", "@jarroba/mcp-calc"] } } }

5 つのツール · コンテキストは 約 1.6k トークン · stdio で動作し、お使いのマシン上で実行 · アップロードなし、API キー不要

これを作った理由

17 * 23 を間違えるモデルは問題ではありません。これは簡単に見つけられます。問題なのは、正しそうに見える答えです。

  • 5 km + 300 m。 難しい計算ではありませんが、答えは 305、5.3、5300 のどれでしょうか。単位の取り違えはエラーではなく数値を生み、その数値が次の式に引き継がれます。
  • x^3 - 1 = 0。 「x = 1」は 正しい答えですが、答えの 3 分の 1 にすぎません。そこで止まって何も言わないツールは、ほかに答えがなかったのだと呼び出し元に思わせてしまいます。
  • 9.8 m/s^2 * t^2 / 2。 ここでは m、s、t はすべて単位名であると同時に、ごく普通の変数名でもあります。読み違えると、もっともらしく見えても次元が間違った量になります。

そのため、どのツールも見つけた内容だけでなく、どれだけ確かなのかを報告します。厳密解か近似解か、どの区間を探索したか、表示していない複素根がいくつあるか、どの名前を単位として解釈したか、といった情報です。どのツールも、もっともらしい答えで不足を埋めることはありません。

ツール

calc_eval単位と次元チェックに対応した算術計算です。例:100 km/h to m/s、5 km + 300 m、70 kg to lbs、det([[1,2],[3,4]])。メートルとキログラムの加算は、気づかれないまま数値を返すのではなく、エラーになります。有限でない結果(NaN、±∞)にはフラグを付け、どの名前を単位として解釈したかを示します
calc_solve1 つの方程式(x^2 - 5x + 6 = 0、sin(x) = 0.5)または連立一次方程式に対応します。連立方程式は 1 行に 1 つずつ記述します。答えが厳密解か近似解か、探索した区間、多項式の次数、表示していない複素根の数を示します。見つけていない根を決して作り出しません
calc_sheet複数行の計算シートで、各行の結果を表示します。変数は下の行に引き継がれ、単位は値とともに引き継がれます。# でコメントを開始し、ans は前の結果を表します。エラーが発生してもシート全体を停止せず、その行だけに残します。# @moneda USD = 1.08 EUR のように通貨を宣言します。為替レートはユーザーが指定するため、来年も同じ計算をシートで実行できます。オプションで Markdown 表を出力できます
calc_derive単位を保持したまま厳密な記号微分を行います。d/dx (3 m * x) の結果は 3 ではなく 3 m です。高階微分にも対応し、ある点での値を評価できます。変数が式に含まれていない場合、正しい問いに対する答えではない「0」を返すことはありません。これは、あり得る中で最悪の答えだからです
calc_steps検証済みの途中式を表示します。一次方程式または二次方程式、導関数(使用した規則も明示)、あるいはガウス消去法を行ごとに示します。説明できないケースでは、もっともらしい導出を書く代わりに covered: false を返します。人が読むことを考えれば、これが重要です

対応していないこと

  • 記号式の簡約には対応していません。 当初は 6 つ目のツールとして有力でしたが、実測後に取りやめました。エンジンは (x+1)^2 - (x-1)^2 をそのまま返し(これは 4x です)、sin²+cos²=1 も認識しません。入力をそのまま「簡約済み」として返すツールは、ツールがないよりも悪いものです。呼び出し元には、「これ以上簡約できない」のか「簡約できなかった」のか区別できないからです。
  • 積分、極限、不等式には対応していません。 サポートしていないため、肝心な場面で初めてわかることのないよう、ここで明示しています。
  • 方程式の次数が 2 を超える場合の途中式には対応していません。calc_solve は引き続き正確に答えを出します。不足しているのは説明であり、calc_steps は各応答で対応範囲を示します。

由来

エンジンは、jarroba.com/tools の計算ツールを動かしているものと同じコードです。純粋な TypeScript で書かれており、約 200 件のユニットテストを備え、サーバーは不要です。このパッケージは、全カタログから計算分野のツールだけを抽出したものです。他の 95 個のツール(ログ、テスト、SQL、SPARQL、図表など)も利用したい場合は、代わりに @jarroba/mcp をインストールしてください。パッケージを切り替えずに、このパッケージの対象範囲を広げることもできます。JARROBA_MCP_DOMAINS=calc,core を指定してください。

MIT ライセンスです。ネットワーク通信は一切行いません。ソースコード:github.com/Invarato/jarroba-mcp。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。