mcpField
M
Mcp Math Calculator

Mcp Math Calculator

ローカル
github.com/Cosmiumx科学・教育049 週間前に更新

Mcp Math Calculator について

Mcp Math Calculatorは、AIクライアント向けに数式を計算するMCPサーバーです。高精度小数、大きな数、複雑な式、科学関数に対応し、制限付きの解析と実行時間制限を備えています。

主な機能

  1. 01高精度な小数演算
  2. 02大きな整数への対応
  3. 03複雑な式の評価
  4. 04科学関数と数学定数
  5. 05制限付き解析と実行時間制限

活用シーン

  1. 01浮動小数点計算の確認
  2. 02大きな数や複雑な式の計算
  3. 03三角関数や対数式の評価

MCP 対応

MCPクライアントに`calculate`ツールを公開し、数式と任意の精度設定を受け取って計算します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"math-calculator": {
"command": "npx",
"args": [
"-y",
"mcp-math-calculator"
]
}
}
}
起動コマンドnpx -y mcp-math-calculator

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

パッケージ
npmmcp-math-calculator

ツール

1

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

パラメーター型必須説明
expressionstringはい計算する数学式
precisionnumberいいえ小数点以下の桁数(任意、既定値は15桁、範囲は1~64)

詳細

mcp-math-calculator

🧮 高精度な数学計算を行う MCP サーバー - AI に 100% 正確な計算機能を提供します

npm version License: MIT

🌟 特長

  • ✅ 高精度な算術演算 - 浮動小数点数の精度の問題を解決します(例:0.1 + 0.2 = 0.3)
  • ✅ 大きな数に対応 - JavaScript の安全な整数の範囲を超える数を処理します
  • ✅ 複雑な式に対応 - 括弧と演算子の優先順位をサポートします
  • ✅ 科学関数 - sqrt、pow、sin、cos、log、exp など、300 以上の関数に対応します
  • ✅ 安全な評価 - コードインジェクションのリスクがなく、サンドボックス内で実行します
  • ✅ タイムアウト保護 - 5 秒で自動的にタイムアウトし、悪意のある計算を防ぎます

📦 インストール

クイックスタート(推奨)

MCP クライアントの設定に追加します(例:Claude Desktop)。

macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "math-calculator": {
      "command": "npx",
      "args": ["-y", "mcp-math-calculator"]
    }
  }
}
方法 2: グローバルインストール
npm install -g mcp-math-calculator
# 或
pnpm add -g mcp-math-calculator

次に、設定します。

{
  "mcpServers": {
    "math-calculator": {
      "command": "mcp-math-calculator"
    }
  }
}

🚀 使い方

設定が完了したら、AI クライアントを再起動して、次のように質問できます。

  • 「0.1 + 0.2 を正確に計算して」
  • 「123456789 * 987654321 はいくつ?」
  • 「(10 + 20) * 3 / 2 を計算して」
  • 「sqrt(16) + pow(2, 3) の値はいくつ?」
  • 「sin(pi/2) を計算して」

AI がこのツールを自動的に呼び出して正確な計算を行います。

🛠️ 利用可能なツール

calculate

数学式を高精度で計算します。

パラメーター:

  • expression (string, 必須): 計算する数学式
  • precision (number, 任意): 小数点以下の桁数(デフォルト: 15、範囲: 1-64)

サポートする演算:

種類例
基本演算+, -, *, /, ^, %
括弧(, )
関数sqrt(), pow(), abs(), round(), floor(), ceil()
三角関数sin(), cos(), tan(), asin(), acos(), atan()
対数・指数log(), log10(), log2(), exp()
定数pi, e, tau, phi

例:

// 基础运算
"2 + 2"                    // 4
"10 - 3"                   // 7
"6 * 7"                    // 42
"20 / 4"                   // 5

// 浮点数精度
"0.1 + 0.2"                // 0.3 (不是 0.30000000000000004)

// 复杂表达式
"(10 + 20) * 3"            // 90
"2 + 3 * 4 - 5 / 5"        // 13

// 科学函数
"sqrt(16)"                 // 4
"pow(2, 3)"                // 8
"sin(pi / 2)"              // 1

// 大数运算
"123456789 * 987654321"    // 121932631112635269
"999999999999999999 + 1"   // 1000000000000000000

🔒 セキュリティ

このツールでは、多層的なセキュリティ対策を採用しています。

  • ✅ eval() を使用しません - mathjs の安全なパーサーを使用します
  • ✅ サンドボックスで実行 - 計算環境を隔離します
  • ✅ 関数の許可リスト - 安全な数学関数のみを許可します
  • ✅ 入力検証 - 危険なパターン(import、require、eval など)を拒否します
  • ✅ タイムアウト保護 - 5 秒で自動的に処理を終了します
  • ✅ 結果サイズの制限 - メモリ不足を防ぎます

🧪 開発

# 克隆仓库
git clone https://github.com/Cosmiumx/mcp-math-calculator.git
cd mcp-math-calculator

# 安装依赖
pnpm install

# 构建
pnpm build

# 运行测试
pnpm test

# 监听模式
pnpm watch

📊 テストカバレッジ

このプロジェクトには 37 件のテストケースが含まれており、次の項目をカバーしています。

  • ✅ 基本的な算術演算
  • ✅ 浮動小数点数の精度の問題
  • ✅ 複雑な式の計算
  • ✅ 科学関数
  • ✅ 数学定数
  • ✅ 大きな数の演算
  • ✅ エラー処理
  • ✅ セキュリティ検証
  • ✅ 精度の制御

🤝 コントリビューション

コントリビューションを歓迎します!Issue や Pull Request はいつでもお送りください。

  1. このリポジトリをフォークします
  2. 機能ブランチを作成します (git checkout -b feature/AmazingFeature)
  3. 変更をコミットします (git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします (git push origin feature/AmazingFeature)
  5. Pull Request を作成します

📝 ライセンス

MIT License - 詳細は LICENSE ファイルをご覧ください

🐛 問題の報告

問題が発生した場合は、GitHub Issues で報告してください。

📚 関連リソース

⭐ Star History

このプロジェクトがお役に立ちましたら、⭐️を付けてください!


❤️を込めて Cosmiumx が作成

コメント

MCP は初めてですか?

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

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