mcpField
M
MCP Calculate Server

MCP Calculate Server

ローカル
github.com/611711Dark科学・教育627 週間前に更新

MCP Calculate Server について

SymPy を使った数学計算用の MCP サーバーで、記号代数、微積分、方程式、行列演算に対応します。制限付き評価器により任意の Python 実行を拒否し、負荷の大きい式や結果も検証します。

主な機能

  1. 01算術演算と記号代数
  2. 02微分、積分、極限の計算
  3. 03方程式と連立方程式の求解
  4. 04行列演算と固有値の計算
  5. 05テイラー級数展開
  6. 06制限付き式評価

活用シーン

  1. 01記号式の簡約や因数分解
  2. 02導関数、積分、極限の計算
  3. 03方程式や連立方程式の求解
  4. 04行列の逆行列や固有値の確認

MCP 対応

MCP クライアントに、対応する SymPy 式を評価する `calculate_expression` ツールを提供します。評価器は使用可能な名前と操作を制限し、大きすぎる式や計算量の多い処理を拒否する場合があります。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Calculate Server

smithery badge

MCP プロトコルと SymPy ライブラリに基づく数式計算サービスで、強力な記号計算機能を提供します。

セキュリティ

バージョン 0.1.1 以降、このサーバーは制限付きの SymPy 専用評価器を通じて式を解析します。任意の Python コードは実行せず、厳選された数学記号、関数、行列メソッドのみをサポートします。

また、このリリースでは、計算コストの高い記号計算によるサービス拒否のリスクを軽減するため、過大な式や大きな結果の検証機能も追加されています。

主な機能

  • 基本演算:加算、減算、乗算、除算、べき乗
  • 代数演算:式の展開、因数分解、簡約
  • 微積分:微分、積分(定積分/不定積分)、極限の計算
  • 方程式の求解:代数方程式、連立方程式
  • 行列演算:行列の逆行列、固有値/固有ベクトルの計算
  • 級数展開:テイラー級数展開
  • 特殊関数:三角関数、対数関数、指数関数

使用例

# Basic operations
"2 + 3*5" → 17

# Algebraic operations
"expand((x + 1)**2)" → x² + 2x + 1
"factor(x**2 - 2*x - 15)" → (x - 5)(x + 3)

# Calculus
"diff(sin(x), x)" → cos(x)
"integrate(exp(x), (x, 0, 1))" → E - 1
"integrate(exp(-x**2)*sin(x), (x, -oo, oo))" → 0
"limit(tan(x)/x, x, 0)" → 1

# Equation solving
"solve(x**2 - 4, x)" → [-2, 2]
"solve([x**2 + y**2 - 1, x + y - 1], [x, y])" → [(0, 1), (1, 0)]

# Matrix operations
"Matrix([[1, 2], [3, 4]]).inv()" → [[-2, 1], [3/2, -1/2]]
"Matrix([[1, 2, 3], [4, 5, 6]]).eigenvals()" → {9/2 - sqrt(33)/2: 1, 9/2 + sqrt(33)/2: 1}
"Sum(k, (k, 1, 10)).doit()" → 55
"series(cos(x), x, 0, 4)" → 1 - x²/2 + O(x⁴)

インストール

Smithery 経由でのインストール

Smithery 経由で Calculate Server を Claude Desktop に自動インストールするには:

npx -y @smithery/cli install @611711Dark/mcp_sympy_calculate_server --client claude
ローカルインストール
  1. リポジトリをクローンします:

    git clone https://github.com/611711Dark/mcp_calculate_server.git
    cd mcp_calculate_server
    
  2. 仮想環境を作成し、依存関係をインストールします:

    uv venv
    source .venv/bin/activate
    uv pip install -e .
    
  3. 設定します:

    "calculate_expression1": {
       "isActive": false,
       "command": "python",
       "args": [
         "server.py"
       ],
       "cwd": "/path/to/mcp_calculate_server"
     }
    

API の使用方法

数学式の文字列を渡して、MCP プロトコル経由で calculate_expression ツールを呼び出します。パーサーは、算術演算、expand、factor、simplify、diff、integrate、limit、series、solve、Matrix(...).det()/inv()/eigenvals()/eigenvects()、および Sum(...).doit() など、制限された SymPy 式を受け付けます。

サポートされる名前
  • 記号:x、y、z、k などの小文字の変数
  • 定数:pi、E、oo、I
  • 関数:Abs、sin、cos、tan、log、exp、sqrt、expand、factor、simplify、diff、integrate、limit、series、solve、Sum、Matrix
  • 行列メソッド:.det()、.inv()、.eigenvals()、.eigenvects()
  • SymPy メソッド:Sum(...) など、サポート対象のオブジェクトに対する .doit()
検証ルール

任意の Python 機能、インポート、ファイルシステムへのアクセス、その他の数学以外の構成要素に依存する式は、意図的に拒否されます。 サービス拒否のリスクを軽減するため、非常に大規模な展開、計算量の多い求解、過大な結果も拒否される場合があります。 キーワード引数、プライベート属性、サポート対象外の行列メソッド、不正な形式の行列、サポート対象外の名前は、エラーメッセージとともに拒否されます。

依存関係

  • mcp>=1.5.0
  • sympy>=1.13.3

謝辞

紹介記事を執筆してくださったこちらのブログ記事と、サポートおよび責任ある脆弱性開示に協力してくださったStefanoに感謝します。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

中国語版

コメント

MCP は初めてですか?

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

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