MCP

calculate-mcp:高精度計算とバイナリデータ MCP サーバー入門ガイド

高精度整数演算、ビット操作、IEEE 754 浮動小数点分解を頻繁に行うなら、calculate-mcp はまず試す価値があります。npx 経由で MCP クライアント内にインストール不要で実行できますが、前提としてクライアントが MCP サーバー設定に対応している必要があります。

公式ソース · KonghuanSmart/calculate-mcp

インストール

{"mcpServers":{"calculate-mcp":{"command":"npx","args":["-y","calculate-mcp"]}}}

向いている人

  • 高精度整数演算が必要な開発者:ネイティブ BigInt ベースのため、64 ビット・128 ビット以上の整数で精度の損失はゼロ。8/16/32/64 ビットの符号付き・符号なし 2 の補数表現に対応しています。
  • ローレベルのデバッグ、リバースエンジニアリング、プロトコル解析をする人:ビット演算、バイトオーダー(エンディアン)のスワップ、IEEE 754 浮動小数点レイアウトの分解といった処理を、1 つの MCP サーバー内で完結できます。
  • 複数ステップの計算を 1 回の実行につなぎたい人:batch_calc のチェーン型一括実行エンジンは {"$step": index, "field": "..."} で前のステップの結果を参照でき、中間値を手動でコピーする必要がありません。
  • 向いていないケース:これは汎用のチャットや検索ツールではありません。Node.js 上で動作し、stdio モードに対応した MCP 設定をクライアントがサポートしている必要があります。README にはブラウザや Node なし環境での利用については記載がなく、この点は未確認です。

3 分で最初の一歩

前提:ローカルに Node.js がインストールされており、使用中の MCP クライアントが mcpServers 設定(README に設定形式の記載あり)に対応していること。

推奨メインパス(README では Option A, Recommended と記載):クライアントの設定に以下を追加します:

{"mcpServers":{"calculate-mcp":{"command":"npx","args":["-y","calculate-mcp"]}}}

保存後、クライアントを再起動またはリフレッシュすると、クライアントが npx 経由でサーバーを自動取得・起動します(stdio モード)。手動インストールは不要です。

最初の呼び出しには、読み取り専用性質の純粋な計算機能を選ぶのがおすすめです。たとえば int_convert で任意精度の整数変換を一度行う、あるいは ieee754_convert で浮動小数点数を分解するなど。これらはローカルの数値計算であり、ファイル書き込みやリモート送信を伴いません。

成功のサイン:クライアントのツール一覧に calculate-mcp が提供するツールが表示され(README では合計 29 個の専用ツールと説明)、計算リクエストが正しい結果を返すこと。ツール一覧が空の場合は、クライアントの設定形式が上記と一致しているか確認してください。

副次的手法(参考情報であり、メインパスではありません):README にはローカルで stdio モードとして実行する方法(npm start、事前に TypeScript を build/ へビルドが必要)も記載されています。ソースコードを改変したい人やオフラインで実行したい人向けです。

注記:npx -y は npm からパッケージを取得して実行するため、初回実行時にダウンロードが発生します。これは公式 README が明確に推奨している方法です。

利用例

例 1:128 ビット整数のビットレベル表現の検証。シナリオ:プロトコルフィールド内の 64 ビットを超える整数を確認している。int_convert で任意精度の整数変換を呼び出し、大きな整数を入力して目標の進数/幅を指定します。内部がネイティブ BigInt のため、64 ビット・128 ビット以上の整数で精度の損失はなく、8/16/32/64 ビットの符号付き・符号なし補数表現に対応しているので、補数出力が期待どおりか直接比較できます。

例 2:1 回につなぐ複数ステップのバイナリ解析。シナリオ:同じ数値に対してビット演算、バイトオーダーのスワップ、IEEE 754 分解を順に行いたい。batch_calc のチェーン型一括実行を使い、各ステップを 1 回のバッチ呼び出しに書き込み、後続のステップでは {"$step": index, "field": "..."} で前のステップの結果を参照します。期待できる結果:1 回の呼び出しですべての中間結果と最終結果が返ること。各ステップの具体的なパラメータ名は、クライアント内で表示されるそのツールの schema に従ってください。README では各ツールのパラメータ詳細を一つひとつ列挙していないため、この部分は実行時に確認する必要があります。

利用の境界

  • 読み書きの性質:上記のツールはいずれもローカルの数値・エンコード/デコード計算です。README にはファイル書き込み、ネットワーク送信、アカウント操作の存在についての記載がなく、取り消し経路に関する言及もないため、「取り消し可能」であるとは一切主張できません。
  • 認証情報:なし。設定にキーやトークンは含まれません。
  • 実行前提:Node.js 環境。実装は純粋な TypeScript + Node.js 標準ライブラリ + Zod で、重いネイティブバインディングの依存はありません。
  • 公式の明示的な制限:README にはレート制限、権限の境界、データプライバシーに関する説明がありません。これらの重要な情報は未確認のため、使用時にプライバシーの境界についていかなる仮定も置くべきではありません。
  • 未確認事項:各ツールの完全なパラメータ一覧、OS 互換性、npx パッケージの具体的なバージョン番号。