シンボリック代数MCPサーバー
Sympy-MCPは、LLMが自律的に記号数学とコンピュータ代数を実行できるようにするモデルコンテキストプロトコル(CMP)サーバーです。Sympy-MCPは、数式や方程式を操作するためのSymPyコア機能の多数のツールをMCPクライアントに公開します。
なぜ?
言語モデルは記号操作が全くダメです。変数を幻覚的に解釈したり、ランダムな定数をでっち上げたり、項を並べ替えたりと、とにかくめちゃくちゃなことをします。しかし、記号操作に特化したコンピュータ代数システムがあるので、ツール呼び出しを使って一連の変換を調整し、記号カーネルがすべての重労働を担うようにすることができます。
LLM を使用して Mathematica または Python コードを生成することは確かに可能ですが、LLM をエージェントまたはオンザフライ計算機として使用する場合は、MCP サーバーを使用してシンボリック ツールを直接公開する方がよいでしょう。
サーバーは、代数方程式の解、積分と微分、ベクトル計算、一般相対性理論のテンソル計算、常微分方程式と偏微分方程式の両方を含む記号数学機能のサブセットを公開します。
たとえば、自然言語で微分方程式を解くように要求することができます。
強制項を持つ減衰調和振動子を解きます。これは、微分方程式によって記述される質量-バネ-ダンパー システムです。ここで、m は質量、c は減衰係数、k はバネ定数、F(t) は外力です。
Loading...
あるいは一般相対性理論に関わるもの:
反ド・ジッター時空の逆計量$g^{\mu\nu}$を使用してリッチテンソル$R_{\mu\nu}$のトレースを計算し、その定数スカラー曲率$R$を決定します。
使用法
まず紫外線が必要です。
- 自作-
brew install uv
- Curl -
curl -LsSf https://astral.sh/uv/install.sh | sh
次に、次のコマンドを使用してサーバーをインストールして実行します。
Claudeデスクトップアプリでサーバーが利用可能になっているはずです。他のクライアントについては、以下をご覧ください。
単一のコマンドで実行できる完全なスタンドアロンバージョンが必要な場合は、以下をご利用ください。ただし、これはGithubから任意のコードを実行しているため、ご注意ください。
一般相対性理論の計算を行う場合は、 einsteinpy
ライブラリをインストールする必要があります。
利用可能なツール
sympy-mcp サーバーは、記号数学用の次のツールを提供します。
道具 | ツールID | 説明 |
---|---|---|
変数の導入 | intro | 指定された仮定を持つ変数を導入し、それを保存します |
複数の変数 | intro_many | 指定された仮定に基づいて複数の変数を同時に導入する |
式パーサー | introduce_expression | 利用可能なローカル変数を使用して式文字列を解析し、保存します。 |
LaTeXプリンター | print_latex_expression | 保存された式を変数の仮定とともにLaTeX形式で出力します。 |
代数ソルバー | solve_algebraically | 与えられた変数について、与えられたドメインで方程式を代数的に解く |
線形ソルバー | solve_linear_system | 線形方程式を解く |
非線形ソルバー | solve_nonlinear_system | 非線形方程式系を解く |
関数変数 | introduce_function | 微分方程式で使用する関数変数を導入する |
ODE ソルバー | dsolve_ode | 常微分方程式を解く |
PDE ソルバー | pdsolve_pde | 偏微分方程式を解く |
標準メートル法 | create_predefined_metric | 定義済みの時空メトリック(例:シュワルツシルト、カー、ミンコフスキー)を作成します。 |
メトリック検索 | search_predefined_metrics | 利用可能な定義済みメトリックを検索します |
テンソル計算機 | calculate_tensor | 計量からテンソルを計算します(リッチ、アインシュタイン、ワイルテンソル) |
カスタムメトリック | create_custom_metric | 提供されたコンポーネントとシンボルからカスタム計量テンソルを作成します |
テンソルLaTeX | print_latex_tensor | 保存されたテンソル式をLaTeX形式で出力します。 |
簡素化者 | simplify_expression | SymPyの正規化関数を使用して数式を簡略化します |
代替 | substitute_expression | 変数を別の式の式に置き換えます |
統合 | integrate_expression | 変数に関して式を積分する |
差別化 | differentiate_expression | 変数に関して式を微分する |
座標 | create_coordinate_system | ベクトル計算演算用の3D座標系を作成します |
ベクトル場 | create_vector_field | 指定された座標系にベクトル場を作成します |
カール | calculate_curl | ベクトル場の回転を計算する |
発散 | calculate_divergence | ベクトル場の発散を計算する |
勾配 | calculate_gradient | スカラー場の勾配を計算する |
単位換算 | convert_to_units | 数量を指定された目標単位に変換します |
単位簡略化器 | quantity_simplify_units | 単位付きの量を簡略化する |
マトリックスクリエイター | create_matrix | 提供されたデータからSymPy行列を作成する |
行列式 | matrix_determinant | 行列の行列式を計算します |
逆行列 | matrix_inverse | 逆行列を計算します |
固有値 | matrix_eigenvalues | 行列の固有値を計算します |
固有ベクトル | matrix_eigenvectors | 行列の固有ベクトルを計算する |
デフォルトでは、変数は仮定に基づいて事前定義されます(SymPyのsymbols()関数の動作に似ています)。特に指定がない限り、変数は複素体$\mathbb{C}$上の複素可換項であるという仮定がデフォルトで適用されます。
財産 | 価値 |
---|---|
commutative | 真実 |
complex | 真実 |
finite | 真実 |
infinite | 間違い |
クロードデスクトップセットアップ
通常、 mcp install
コマンドはclaude_desktop_config.json
ファイルにサーバーを自動的に追加します。追加されない場合は、設定ファイルを見つけて以下の行を追加してください。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
mcpServers
オブジェクトに以下を追加し、 /ABSOLUTE_PATH_TO_SYMPY_MCP/server.py
server.py を sympy-mcp server.py
ファイルへの絶対パスに置き換えます。
カーソルの設定
~/.cursor/mcp.json
に次の内容を追加します。ここで、 ABSOLUTE_PATH_TO_SYMPY_MCP
sympy-mcp server.py ファイルへのパスです。
VS Code のセットアップ
VS Code および VS Code Insiders は、エージェントモードで MCP をサポートするようになりました。VS Code の場合は、設定でChat > Agent: Enable
を有効にする必要があります。
- ワンクリックセットアップ:
または、 settings.json
(グローバル) に手動で設定を追加します。
- サーバー設定の上にある「開始」をクリックし、Python または数学ファイルを開いて、チャットでエージェント モードに切り替え、「integrate x^2」や「solve x^2 = 1」などのコマンドを試して開始します。
クラインセットアップ
Clineで使用するには、まず「使用方法」セクションのコマンドを使用して MCP サーバーを手動で起動する必要があります。MCP サーバーが起動したら、Cline を開き、上部の「MCP サーバー」を選択してください。
次に、「リモート サーバー」を選択し、以下を追加します。
- サーバー名:
sympy-mcp
- サーバーURL:
http://127.0.0.1:8081/sse
5ireのセットアップ
バックエンドで複数のモデル (o3、o4-mini、DeepSeek-R1 など) をサポートする別の MCP クライアントは 5ire です。
5ireでセットアップするには、5ire を開いて「ツール」->「新規」に移動し、次の構成を設定します。
- ツールキー:
sympy-mcp
- 名前: SymPy MCP
- コマンド:
/opt/homebrew/bin/uv run --with einsteinpy --with mcp[cli] --with pydantic --with sympy mcp run /ABSOLUTE_PATH_TO/server.py
/ABSOLUTE_PATH_TO/server.py
を、sympy-mcp server.py ファイルへの実際のパスに置き換えます。
コンテナ内で実行
Docker を使用してローカルでサーバーを構築および実行できます。
あるいは、GitHub Container Registry から事前にビルドされたイメージをプルすることもできます。
Claude Desktop が Docker コンテナを起動するように構成するには、 claude_desktop_config.json
ファイルを編集します。
または、GitHub から事前に構築されたコンテナを使用するには:
この設定は、Claude Desktop に必要に応じて Docker コンテナを起動するように指示します。この設定で Claude Desktop を使用する前に、必ず Docker イメージをビルド ( docker build -t sympy-mcp .
) してください。
uv コマンドを docker run コマンドに変更すると、他のインストール方法も Docker で動作するように適応できます。
例題1:微分方程式
この MCP サーバーを使用した AI アシスタントとの会話でツール呼び出しがどのように機能するかの例を次に示します。
ユーザー: 強制項を持つ減衰調和振動子を解きます。これは、微分方程式によって記述される質量-バネ-ダンパー システムです。ここで、m は質量、c は減衰係数、k はバネ定数、F(t) は外力です。
Loading...
アシスタント: (内部ツール呼び出し) 変数を導入するためのintro_many
:
アシスタント: (内部ツール呼び出し) x(t)を定義するintroduce_function
:
アシスタント: (内部ツール呼び出し) 微分方程式を作成するためのintroduce_expression
:
アシスタント: (内部ツール呼び出し) print_latex_expression
使用して方程式をきれいに表示します。
結果:
Loading...
アシスタント: (内部ツール呼び出し) F(t)を定義するintroduce_function
:
アシスタント: (内部ツール呼び出し) 微分方程式を解くdsolve_ode
:
結果:
Loading...
相互作用の例2:一般相対性理論
ユーザー: 反ド・ジッター時空の逆計量$g^{\mu\nu}$を使用してリッチテンソル$R_{\mu\nu}$のトレースを計算し、その定数スカラー曲率$R$を決定します。
アシスタント: (内部ツール呼び出し) create_predefined_metric
Anti-de Sitter メトリックを作成します。
アシスタント: (内部ツール呼び出し) Ricci テンソルを計算するcalculate_tensor
:
アシスタント: (内部ツール呼び出し) Ricci テンソルを表示するためのprint_latex_tensor
:
結果:
Loading...
アシスタント: (内部ツール呼び出し) Ricci スカラーを計算するcalculate_tensor
:
アシスタント: (内部ツール呼び出し) Ricci スカラーを表示するためのprint_latex_tensor
:
結果:
Loading...
セキュリティ免責事項
このサーバーはあなたのコンピュータ上で動作し、言語モデルにPythonロジックの実行権限を与えます。特に、数式を解析するためにSympyのparse_expr
使用していますが、これは内部でeval
を使用しているため、実質的に任意のコード実行を許してしまいます。サーバーを実行することで、Claudeが生成したコードを信頼することになります。Dockerイメージで実行すると多少安全ですが、実行前にコードを確認することをお勧めします。
ライセンス
著作権 2025 Stephen Diehl。
このプロジェクトはApache 2.0ライセンスに基づいてライセンスされています。詳細はLICENSEファイルをご覧ください。
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
数式や方程式を操作する SymPy の機能を通じて、LLM が記号数学やコンピュータ代数を自律的に実行できるようにするモデル コンテキスト プロトコル サーバー。
- なぜ?
- 使用法
- 利用可能なツール
- クロードデスクトップセットアップ
- カーソルの設定
- VS Code のセットアップ
- クラインセットアップ
- 5ireのセットアップ
- コンテナ内で実行
- 例題1:微分方程式
- 相互作用の例2:一般相対性理論
- セキュリティ免責事項
- ライセンス
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.Last updated -1313TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to perform precise numerical calculations by evaluating mathematical expressions.Last updated -148PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that connects LLMs to the Compiler Explorer API, enabling them to compile code, explore compiler features, and analyze optimizations across different compilers and languages.Last updated -Python
- AsecurityFlicenseAqualityA Model Context Protocol server that allows LLMs to interact with Python environments, execute code, and manage files within a specified working directory.Last updated -98Python