home / mcp / fermat mcp server

Fermat MCP Server

šŸš€ Fermat MCP: The Ultimate Math Engine - Unifying SymPy, NumPy & Matplotlib in one powerful server! Perfect for devs & researchers.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "abhiphile-fermat-mcp": {
      "command": "bash",
      "args": [
        "MCP_SERVER_ABSOLUTE_PATH/setup.sh"
      ]
    }
  }
}

Fermat MCP is a dedicated server for mathematical computations, offering numerical and symbolic math, plus plotting capabilities. It helps you perform complex matrix operations, algebra, calculus, and visualization from your MCP clients in a unified, programmable way.

How to use

You connect to Fermat MCP using your MCP client with a local server configuration. The server supports multiple ways to run locally, so you can choose the method that fits your setup. Once connected, you can request numerical operations, symbolic computations, and plotting tasks through the MCP interface and receive results or plots directly.

How to install

Prepare your environment and get Fermat MCP running locally. Follow these steps in order to have a working MCP server you can connect to from clients.

# Prerequisites
# Ensure Python 3.12+ is installed
python3 --version

# Ensure uv is installed (the runtime you will use to start the server)
# Follow the uv installation instructions for your platform if you have not installed it yet

# Clone the Fermat MCP repository
git clone https://github.com/abhiphile/fermat-mcp

# Install Smithery client (optional but recommended for client setups)
npx -y @smithery/cli install @abhiphile/fermat-mcp --client gemini

You will configure MCP clients to start the local server via the provided commands. If you prefer a Bash-based startup, use the setup script from the local clone. If you prefer UVX/JIT workflows, you can run the Python server with uv as shown in your client setup.

Configuration samples you may use in your MCP client setup are shown here for quick reference. Include these exactly in your client configuration files where the tool expects an MCP server definition.

Additional content

Configuration notes and practical examples help you tailor Fermat MCP to your workflow. Below are representative configurations shown for common MCP clients. Use these exactly as-is in your client setup sections that accept MCP server definitions.

{
  "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."
    }
  }
}

If you are using Claude or the Anthropic MCP client, you can run the server with uv and specify a local directory that contains Fermat MCP. This is useful for development workflows where you clone the repository locally.

{
  "mcpServers": {
    "fmcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/fermat-mcp",
        "run",
        "server.py"
      ]
    }
  }
}

If you use Gemini as your MCP client, place a similar configuration in your Gemini settings file. This ensures you can start the Fermat MCP server from Gemini with a single command.

{
  "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."
    }
  }
}

Available tools

plot_barchart

Plots bar charts from 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 or bar charts.

eqn_chart

Plots mathematical equations.

add

Basic addition operation in numeric arrays or matrices.

sub

Basic subtraction operation.

mul

Basic multiplication operation.

div

Basic division operation.

power

Exponentiation operation.

abs

Absolute value operation.

exp

Exponential function.

log

Natural or base-specific logarithm.

sqrt

Square root operation.

sin

Sine function.

cos

Cosine function.

tan

Tangent function.

mean

Compute the mean of an array.

median

Compute the median of an array.

std

Compute the standard deviation.

var

Compute the variance.

min

Find the minimum value.

max

Find the maximum value.

argmin

Index of the minimum value.

argmax

Index of the maximum value.

percentile

Compute specified percentile.

dot

Dot product between two arrays.

matmul

Matrix multiplication.

inv

Matrix inverse.

det

Matrix determinant.

eig

Eigenvalues computation.

solve

Solve linear systems.

svd

Singular value decomposition.

create

Create a new matrix.

zeros

Create a zero-filled matrix.

ones

Create a ones-filled matrix.

full

Create a matrix filled with a constant value.

arange

Create a range of numbers.

linspace

Create linearly spaced numbers.

reshape

Reshape an array.

flatten

Flatten an array.

concatenate

Concatenate arrays.

transpose

Transpose a matrix.

stack

Stack arrays.

simplify

Algebraic simplification of expressions.

expand

Expand algebraic expressions.

factor

Factor polynomials.

collect

Collect like terms in expressions.

diff

Differentiate expressions.

integrate

Integrate expressions.

limit

Compute limits.

series

Compute series expansions.

solve

Solve algebraic equations.

solveset

Solve equations symbolically.

linsolve

Solve linear systems symbolically.

nonlinsolve

Solve nonlinear systems.

create_matrix

Create a matrix structure from given data.

det_matrix

Compute determinant of a matrix.

rref

Compute reduced row echelon form.

eigenvals

Compute eigenvalues of a matrix.