Skip to main content
Glama

Fermat MCP

by abhiphile
MIT License
5

Fermat MCP

smithery badge

This project provides a FastMCP server for mathematical computations, including numerical and symbolic calculations, as well as plotting.

Modules

1. mpl_mcp - Matplotlib Integration

Feature

Description

plot_barchart

Plots bar charts of given data values

plot_scatter

Creates scatter plots from data points

plot_chart

Plots line, scatter, or bar charts

plot_stem

Creates stem plots for discrete data

plot_stack

Generates stacked area/bar charts

eqn_chart

Plots mathematical equations

2. numpy_mcp - NumPy Integration

Category

Operations

Basic Math

add, sub, mul, div, power, abs, exp, log, sqrt

Trigonometric

sin, cos, tan

Statistics

mean, median, std, var, min, max, argmin, argmax, percentile

Linear Algebra

dot, matmul, inv, det, eig, solve, svd

Matrix Operations

create, zeros, ones, full, arange, linspace

Array Manipulation

reshape, flatten, concatenate, transpose, stack

3. sympy_mcp - SymPy Integration

Category

Operations

Algebra

simplify, expand, factor, collect

Calculus

diff, integrate, limit, series

Equations

solve, solveset, linsolve, nonlinsolve

Matrix Operations

create, det, inv, rref, eigenvals

Setup

Requirements

Clone the repository

git clone https://github.com/abhiphile/fermat-mcp

Visual Studio Code, Windsurf

You can find the mcp.json file in the MCP: Open User Configuration or MCP: Open Workspace Configuration

vs-code-1

Add the following to your 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." } } }

Gemini CLI

  • Open your Gemini settings JSON located in ~/.gemini/settings.json where ~ is your home directory.

  • Add the following to your 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." } } }

Installing via Smithery

To install Fermat MCP for local usage automatically via Smithery:

npx -y @smithery/cli install @abhiphile/fermat-mcp --client gemini

Example Usage

  • Using 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
  • Using Visual Studio Code, Windsurf Here the task was to plot both x**2 and sin(x) in the same plot. GUI Demo 1-2 GUI Demo 2-2

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

A FastMCP server for mathematical computations, including numerical and symbolic calculations with NumPy and SymPy integration, as well as data visualization through Matplotlib.

  1. Modules
    1. 1. mpl_mcp - Matplotlib Integration
    2. 2. numpy_mcp - NumPy Integration
    3. 3. sympy_mcp - SymPy Integration
  2. Setup
    1. Requirements
    2. Visual Studio Code, Windsurf
    3. Gemini CLI
    4. Installing via Smithery
    5. Example Usage

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.
    Last updated -
    8
    MIT License
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    A mathematical computation service that enables users to perform symbolic calculations including basic arithmetic, algebra, calculus, equation solving, and matrix operations through the MCP protocol.
    Last updated -
    1
    4
    MIT License
  • -
    security
    A
    license
    -
    quality
    A FastMCP-based server that provides data analysis tools for processing, analyzing, and visualizing data with an intuitive Streamlit web interface.
    Last updated -
    2
    MIT License
  • -
    security
    F
    license
    -
    quality
    A simple calculator MCP server that provides basic arithmetic functions (add and subtract) through HTTP transport, designed to be cloud-ready and easily deployable.
    Last updated -
    • Linux
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abhiphile/fermat-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server