mcpField
F
Fermatmcp

Fermatmcp

ローカル
github.com/abhiphile科学・教育22今日更新

Fermatmcp について

Fermat MCP は FastMCP で構築された MCP サーバーで、数値計算、記号計算、グラフ描画を提供します。NumPy、SymPy、Matplotlib を基盤としており、AI アシスタントから数学演算や図の生成を行いたいユーザーに適しています。

主な機能

  1. 01NumPy による数値計算
  2. 02SymPy による記号代数と微積分
  3. 03Matplotlib によるグラフと方程式の描画
  4. 04固有値、求解、SVD などの線形代数演算
  5. 05微分、積分、極限などの微積分演算

活用シーン

  1. 01AI アシスタントから行列の固有値を計算する
  2. 02x**2 と sin(x) を同一グラフに描画する
  3. 03式の簡約や方程式の記号的な求解を行う

MCP 対応

本プロジェクトは数学計算と描画機能をツールとして MCP クライアントに提供する MCP サーバーです。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Fermat MCP

smithery badge

Verified on MseeP

このプロジェクトは、数値計算や記号計算、プロット作成に対応した数学計算用の FastMCP サーバーを提供します。

モジュール

1. mpl_mcp - Matplotlib 連携
機能説明
plot_barchart指定したデータ値の棒グラフをプロットします
plot_scatterデータポイントから散布図を作成します
plot_chart折れ線グラフ、散布図、棒グラフをプロットします
plot_stem離散データのステムプロットを作成します
plot_stack積み上げ面グラフ/棒グラフを生成します
eqn_chart数学の方程式をプロットします
2. numpy_mcp - NumPy 連携
カテゴリ操作
基本的な数学add, sub, mul, div, power, abs, exp, log, sqrt
三角関数sin, cos, tan
統計mean, median, std, var, min, max, argmin, argmax, percentile
線形代数dot, matmul, inv, det, eig, solve, svd
行列操作create, zeros, ones, full, arange, linspace
配列操作reshape, flatten, concatenate, transpose, stack
3. sympy_mcp - SymPy 連携
カテゴリ操作
代数simplify, expand, factor, collect
微積分diff, integrate, limit, series
方程式solve, solveset, linsolve, nonlinsolve
行列操作create, det, inv, rref, eigenvals

セットアップ

要件
リポジトリをクローンする
git clone https://github.com/abhiphile/fermat-mcp
Visual Studio Code、Windsurf

mcp.json ファイルは、以下から確認できます。 MCP: Open User Configuration または MCP: Open Workspace Configuration

vs-code-1

以下を mcp.json に追加してください。

{
  "mcpServers": {
    "fmcp": {
      "command": "bash",
      "args": ["MCP_SERVER_ABSOLUTE_PATH/setup.sh"],
      "description": "fmcp server is for mathematical computations, including numerical and symbolic calculations, as well as plotting."
    }
  }
}
Claude(Anthropic)

Claude または Anthropic MCP クライアントを使用する場合は、この MCP 設定を mcp.json に追加してください(ディレクトリパスはローカルのクローン先に更新してください)。

{
  "mcpServers": {
    "fmcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/fermat-mcp",
        "run",
        "server.py"
      ]
    }
  }
}
Gemini CLI
  • ~ がホームディレクトリを表す ~/.gemini/settings.json にある Gemini の設定 JSON を開きます。

  • 以下を settings.json に追加してください。

{
  "mcpServers": {
    "fmcp": {
      "command": "bash",
      "args": ["MCP_SERVER_ABSOLUTE_PATH/setup.sh"],
      "description": "fmcp server is for mathematical computations, including numerical and symbolic calculations, as well as plotting."
    }
  }
}
Smithery 経由でインストールする

Smithery 経由で Fermat MCP をローカル環境に自動インストールするには、以下を実行します。

npx -y @smithery/cli install @abhiphile/fermat-mcp --client gemini
使用例
  • Gemini CLI を使用する場合
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│  > Can you use fmcp server and using numpy method find the eigen values of this 8*8 matrix,                  |
│    2 1 3 1 1 8 4 2                                                                                           |
│    6 6 0 7 1 4 6 1                                                                                           │
│    9 2 1 8 7 9 9 0                                                                                           │
│    2 5 6 6 9 8 0 1                                                                                           │
│    1 3 6 2 3 8 8 1                                                                                           │
│    9 4 2 2 1 2 2 9                                                                                           │
│    8 6 4 4 2 0 2 8                                                                                           │
│    0 0 0 6 6 7 5 6                                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

 ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔  numpy_mcp_numerical_operation (fmcp MCP Server) {"a":[[2,1,3,1,1,8,4,2],[6,6,0,7,1,4,6,1],[9,2,1,8,7,9,9,0],[2,5,6,6,9,8,0,1],[1,3,… │
 │                                                                                                                                         │
 │    {"eigenvalues":["32.077244457548815+0j","-11.531090644775198+0j","-6.6653982146786195+0j","0.6715984762411508+3.37024850             │
 │    10270413j","0.6715984762411508-3.3702485010270413j","4.541270555490195+2.776364664923869j","4.541270555490195-2.77636466             │
 │    4923869j","3.6935063384423428+0j"],"eigenvectors":[["-0.23263835483680192+0j","-0.2264723575289234+0j","-0.4308391916391             │
 │    0195+0j","-0.012346573390129022+0.17748655663058255j","-0.012346573390129022-0.17748655663058255j","-0.21221572277027187             │
 │    +0.3524396218277479j","-0.21221572277027187-0.3524396218277479j","0.3451499664861578+0j"],["-0.31955742545335186+0j","-0             │
 │    .2569860493445581+0j","0.05691886770041556+0j","-0.35591013681869693-0.2242364092694275j","-0.35591013681869693+0.224236             │
 │    4092694275j","0.1932161673963751-0.39527849111641133j","0.1932161673963751+0.39527849111641133j","-0.7979681696063214+0j             │
 │    "],["-0.46626263247473404+0j","-0.4684914620112376+0j","0.5469400556350749+0j","0.34325164099973565+0.06607019711949293j             │
 │    ","0.34325164099973565-0.06607019711949293j","0.21312270185159682+0.28822307710358636j","0.21312270185159682-0.288223077             │
 │    10358636j","0.42707422750984786+0j"],["-0.41589316441674523+0j","0.2291771012892302+0j","0.09410792992600435+0j","0.6375             │
 │    92441360358+0j","0.637592441360358+-0j","0.46446646137729414+0j","0.46446646137729414+-0j","0.08171661775583623+0j"],["-             │
 │    0.35812884189789035+0j","-0.26551071423139044+0j","-0.649979374400915+0j","-0.2999153430497845+0.20110182336747695j","-0             │
 │    .2999153430497845-0.20110182336747695j","0.04424367733961273-0.020400357434930304j","0.04424367733961273+0.0204003574349             │
 │    30304j","-0.037276545325188024+0j"],["-0.3042416233100104+0j","0.4027405071320744+0j","0.2343447346668298+0j","-0.119224             │
 │    87219398595+0.10317726668781271j","-0.11922487219398595-0.10317726668781271j","-0.3387759141362585+0.15790241128043445j"             │
 │    ,"-0.3387759141362585-0.15790241128043445j","0.11473144194899779+0j"],["-0.35389732755448017+0j","0.5359362131480812+0j"             │
 │    ,"0.13989902586074168+0j","-0.16008513226461316-0.26111873108374495j","-0.16008513226461316+0.26111873108374495j","0.055             │
 │    729749650881726-0.22748184206919145j","0.055729749650881726+0.22748184206919145j","-0.19838514696566653+0j"],["-0.327615             │
 │    5213691367+0j","-0.30122843153433887+0j","0.07858579556736099+0j","0.00042251379361638556-0.11670182367986544j","0.00042             │
 │    251379361638556+0.11670182367986544j","-0.18590228871569267-0.2479130526139182j","-0.18590228871569267+0.247913052613918             │
 │    2j","-0.03374593856285834+0j"]]}                                                                                                     │
 ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ Of course, I can do that. Here are the eigenvalues for the given matrix:

  32.077244457548815
  -11.531090644775198
  -6.6653982146786195
  0.6715984762411508 + 3.3702485010270413j
  0.6715984762411508 - 3.3702485010270413j
  4.541270555490195 + 2.776364664923869j
  4.541270555490195 - 2.776364664923869j
  3.6935063384423428
  • Visual Studio Code、Windsurf を使用する場合 ここでは、x**2 と sin(x) の両方を同じプロットに描画するように指示しました。 GUI Demo 1-2 GUI Demo 2-2
README の画像

コメント

MCP は初めてですか?

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

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