Math-MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Math-MCP what is the average of 10,20,30?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Math-MCP
A Model Context Protocol (MCP) server that provides basic mathematical, statistical and trigonometric functions to Large Language Models (LLMs). This server enables LLMs to perform accurate numerical calculations through a simple API.
Features
Basic arithmetic operations (addition, subtraction, multiplication, division, sum, modulo)
Statistical functions (mean, median, mode, min, max)
Advanced statistics (variance, standard deviation, percentile, correlation, linear regression)
Rounding functions (floor, ceiling, round)
Trigonometric functions (sin, cos, tan, and their inverses; degrees/radians conversions)
Exact number theory and combinatorics (GCD, LCM, primes, factors, factorials, combinations, permutations)
Exact fraction simplification and arithmetic using arbitrary-size integers
Percentages, compound interest, and fixed-rate loan payments
Quadratic equations and 2x2 linear systems, including complex or non-unique solutions
3D graphics transforms, bone hierarchies, camera matrices, and world-to-screen projection
Bayes' theorem and normalized multi-hypothesis Bayesian updates
Related MCP server: Calculator MCP
Installation
Note: Ensure you have Node.js installed on your computer.
Just clone this repository and save it locally somewhere on your computer.
Then add this server to your MCP configuration file:
"math": {
"command": "node",
"args": ["PATH\\TO\\PROJECT\\math-mcp\\build\\index.js"]
}Here is an example for OpenCode
{
"mcp": {
"math-mcp": {
"type": "local",
"command": [
"node",
"PATH\\TO\\PROJECT\\math-mcp\\build\\index.js"
]
}
}
}Replace PATH\\TO\\PROJECT with the actual path to where you cloned the repository.
Note: This project comes prebuilt, so installation is easy but if you change anything in the code, rebuild the project with
npm run build.
Available Functions
The Math-MCP server provides the following mathematical operations:
Arithmetic Operations
Function | Description | Parameters |
| Adds two numbers together |
|
| Subtracts the second number from the first number |
|
| Multiplies two numbers together |
|
| Divides the first number by the second number |
|
| Adds any number of numbers together |
|
| Divides two numbers and returns the remainder |
|
| Rounds a number down to the nearest integer |
|
| Rounds a number up to the nearest integer |
|
| Rounds a number to the nearest integer |
|
Statistical Operations
Function | Description | Parameters |
| Calculates the arithmetic mean of a list of numbers |
|
| Calculates the median of a list of numbers |
|
| Finds the most common number in a list of numbers |
|
| Finds the minimum value from a list of numbers |
|
| Finds the maximum value from a list of numbers |
|
| Calculates population or sample variance |
|
| Calculates population or sample standard deviation |
|
| Calculates an inclusive R-7/Excel-style percentile |
|
| Calculates Pearson correlation for paired observations |
|
| Fits |
|
Exact and Number-Theory Operations
Function | Description | Parameters |
| Finds the GCD of two safe integers |
|
| Finds the exact LCM as a decimal string |
|
| Tests a safe integer for primality |
|
| Finds prime factors up to 1,000,000,000,000 |
|
| Calculates n! exactly through 1000! |
|
| Calculates n choose r exactly |
|
| Calculates nPr exactly |
|
| Reduces an arbitrary-size integer fraction exactly |
|
| Adds, subtracts, multiplies, or divides fractions exactly |
|
Applied Operations
Function | Description | Parameters |
| Calculates a percentage of a value |
|
| Calculates percent increase or decrease |
|
| Rounds to a requested number of decimal places |
|
| Calculates compound growth and optional end-of-period contributions |
|
| Calculates fixed-rate payment, total paid, and total interest |
|
Algebra Operations
Function | Description | Parameters |
| Solves |
|
| Solves or classifies two linear equations | Coefficients |
3D Graphics and Bone Projection
All matrices are flat, row-major 4x4 arrays used with column vectors. Transform
composition is projection * view * world * point. Quaternions use {x, y, z, w};
Euler inputs are radians. Defaults are right-handed coordinates, OpenGL-style
NDC depth -1..1, and a top-left screen origin where Y points down.
Function | Description |
| Converts Euler radians and an explicit rotation order to a quaternion |
| Builds a |
| Multiplies two matrices as |
| Applies a matrix to a 3D point with homogeneous |
| Combines one bone's local transform with its parent world matrix |
| Resolves named parent/child local transforms into world-space bones |
| Creates a right- or left-handed world-to-view camera matrix |
| Creates a projection matrix with selectable handedness and clip-depth range |
| Applies the view matrix to a world-space point |
| Applies the projection matrix to produce a 4D clip-space point |
| Performs perspective division: |
| Scales NDC to a requested pixel width and height |
| Runs projection with a combined |
| Batch-projects named world-space bone positions to 2D screen coordinates |
The explicit projection pipeline is:
world point -> view matrix -> view point
view point -> projection matrix -> clip point (x, y, z, w)
clip point -> divide by w -> NDC
NDC -> resolution scaling -> screen pixelsProbability Operations
Function | Description | Parameters |
| Calculates `P(H | E) = P(E |
| Normalizes likelihood-weighted priors across hypotheses | Array of hypothesis labels, priors, and likelihoods |
Trigonometric Operations
Function | Description | Parameters |
| Calculates the sine of a number in radians |
|
| Calculates the arcsine (in radians) of a number |
|
| Calculates the cosine of a number in radians |
|
| Calculates the arccosine (in radians) of a number |
|
| Calculates the tangent of a number in radians |
|
| Calculates the arctangent (in radians) of a number |
|
| Converts a radian value to its equivalent in degrees |
|
| Converts a degree value to its equivalent in radians |
|
Available Tools
59 toolsaddB
Adds two numbers together
Inputs: firstNumber (required), secondNumber (required).
arccosB
Calculates the arccosine (in radians) of a number
Inputs: number (required).
arcsinA
Calculates the arcsine (in radians) of a number
Inputs: number (required).
arctanA
Calculates the arctangent (in radians) of a number
Inputs: number (required).
bayes_theoremA
Calculates P(hypothesis|evidence) = P(evidence|hypothesis) * P(hypothesis) / P(evidence)
Inputs: prior (required), evidence (required), likelihood (required).
bayes_update_hypothesesB
Normalizes priors and evidence likelihoods into posterior probabilities for mutually exclusive, exhaustive hypotheses
Inputs: hypotheses (required).
bone_hierarchy_to_worldA
Resolves a complete bone hierarchy from local transforms to world matrices and world positions; detects missing parents and cycles
Inputs: bones (required).
bone_local_to_worldA
Combines a parent bone world matrix with a child local position, quaternion rotation, and scale
Inputs: localPosition (required), parentWorldMatrix (required), localScale, localRotation.
ceilingA
Rounds a number up to the nearest integer
Inputs: number (required).
clip_to_ndcB
Performs the 4D clip-space perspective divide x/w, y/w, z/w to normalized device coordinates
Inputs: clipPoint (required).
combinationsA
Calculates n choose r exactly when order does not matter; returns a decimal string
Inputs: total (required), selected (required).
compose_transform_4x4A
Builds a row-major 4x4 TRS transform from position, quaternion rotation, and scale for column vectors
Inputs: position (required), scale, rotation.
compound_interestA
Calculates compound growth with optional equal contributions made at the end of every compounding period
Inputs: years (required), principal (required), compoundsPerYear (required), annualRatePercent (required), +1 more.
correlationB
Calculates the Pearson correlation coefficient for paired numeric observations
Inputs: firstValues (required), secondValues (required).
cosA
Calculates the cosine of a number in radians
Inputs: number (required).
degreesToRadiansA
Converts a degree value to its equivalent in radians
Inputs: number (required).
divisionB
Divides the first number by the second number
Inputs: numerator (required), denominator (required).
factorialA
Calculates n! exactly for an integer from 0 through 1000; returns a decimal string
Inputs: value (required).
floorA
Rounds a number down to the nearest integer
Inputs: number (required).
fraction_arithmeticA
Adds, subtracts, multiplies, or divides two fractions exactly and returns the reduced result
Inputs: operation (required), firstNumerator (required), secondNumerator (required), firstDenominator (required), +1 more.
greatest_common_divisorA
Finds the greatest common divisor (GCD) of two safe integers
Inputs: first (required), second (required).
is_primeA
Determines whether a non-negative safe integer is prime
Inputs: value (required).
least_common_multipleA
Finds the exact least common multiple (LCM) of two safe integers; returns a decimal string
Inputs: first (required), second (required).
linear_regressionA
Fits the least-squares line y = slope*x + intercept and returns slope, intercept, and R-squared
Inputs: xValues (required), yValues (required).
loan_paymentA
Calculates the payment and total interest for a standard fixed-rate amortizing loan
Inputs: years (required), principal (required), paymentsPerYear (required), annualRatePercent (required).
look_at_view_matrixA
Creates a row-major look-at world-to-view matrix for a right- or left-handed coordinate system
Inputs: up (required), eye (required), target (required), handedness.
maxB
Finds the maximum value from a list of numbers
Inputs: numbers (required).
meanA
Calculates the arithmetic mean of a list of numbers
Inputs: numbers (required).
medianB
Calculates the median of a list of numbers
Inputs: numbers (required).
minA
Finds the minimum value from a list of numbers
Inputs: numbers (required).
modeA
Finds the most common number in a list of numbers
Inputs: numbers (required).
moduloA
Divides two numbers and returns the remainder
Inputs: numerator (required), denominator (required).
multiplyA
Multiplies two numbers together
Inputs: firstNumber (required), secondNumber (required).
multiply_matrices_4x4A
Multiplies two row-major 4x4 matrices and returns first * second, for column-vector transforms
Inputs: first (required), second (required).
ndc_to_screenB
Scales normalized device coordinates to a 2D screen resolution
Inputs: width (required), height (required), ndcPoint (required), yDirection.
percentage_changeA
Calculates the percentage increase or decrease from an original value to a new value
Inputs: newValue (required), originalValue (required).
percentage_ofA
Calculates a percentage of a value, such as 15% of 240
Inputs: value (required), percentage (required).
percentileA
Calculates a percentile using sorted linear interpolation (R-7 / Excel PERCENTILE.INC method)
Inputs: numbers (required), percentile (required).
permutationsA
Calculates ordered selections nPr exactly; returns a decimal string
Inputs: total (required), selected (required).
perspective_projection_matrixB
Creates a perspective view-to-clip matrix with explicit handedness and NDC depth range
Inputs: farPlane (required), nearPlane (required), aspectRatio (required), verticalFieldOfViewDegrees (required), +2 more.
prime_factorsB
Returns the prime factorization of an integer from 2 through 1,000,000,000,000
Inputs: value (required).
project_bone_pointsB
Batch-projects named bone or joint world positions to 2D pixels using a combined projection*view matrix
Inputs: width (required), height (required), points (required), viewProjectionMatrix (required), +2 more.
quaternion_from_eulerA
Converts Euler rotations in radians to a normalized quaternion; order states the rotations applied first-to-last
Inputs: eulerRadians (required), order.
radiansToDegreesA
Converts a radian value to its equivalent in degrees
Inputs: number (required).
roundB
Rounds a number to the nearest integer
Inputs: number (required).
round_toA
Rounds a number to a specified count of decimal places
Inputs: value (required), decimalPlaces (required).
simplify_fractionA
Reduces a fraction exactly using integer strings, preserving values larger than JSON's safe integer range
Inputs: numerator (required), denominator (required).
sinA
Calculates the sine of a number in radians
Inputs: number (required).
solve_linear_system_2x2A
Solves a1x + b1y = c1 and a2x + b2y = c2, including no-solution and infinite-solution cases
Inputs: a1 (required), a2 (required), b1 (required), b2 (required), +2 more.
solve_quadraticC
Solves ax^2 + bx + c = 0 and returns real or complex roots
Inputs: a (required), b (required), c (required).
standard_deviationA
Calculates population or sample standard deviation with a numerically stable algorithm
Inputs: numbers (required), sample.
subtractA
Subtracts the second number from the first number
Inputs: minuend (required), subtrahend (required).
sumB
Adds any number of numbers together
Inputs: numbers (required).
tanB
Calculates the tangent of a number in radians
Inputs: number (required).
transform_point_3dA
Transforms a 3D position by a row-major 4x4 matrix using homogeneous w=1 and returns x,y,z,w
Inputs: point (required), matrix (required).
varianceC
Calculates population or sample variance with a numerically stable algorithm
Inputs: numbers (required), sample.
view_to_clipA
Transforms one homogeneous view-space position into 4D clip space with a supplied projection matrix
Inputs: viewPoint (required), projectionMatrix (required).
world_to_screenA
Projects one world-space 3D point through a combined projection*view matrix to 2D pixels with visibility and behind-camera flags
Inputs: width (required), height (required), worldPoint (required), viewProjectionMatrix (required), +2 more.
world_to_viewA
Transforms one world-space 3D position into view space with a supplied row-major view matrix
Inputs: viewMatrix (required), worldPoint (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 59 tools
Each tool has a distinct mathematical operation with clear descriptions. Overlaps are minimal (e.g., add vs. sum, round vs. round_to) but descriptions differentiate them. No two tools perform the same function.
The naming convention is inconsistent: single-word names (min, add), snake_case (percentage_of, compose_transform_4x4), and camelCase (radiansToDegrees) are mixed. Verbs like 'division' instead of 'divide' break patterns. While many tools follow verb_noun or noun_verb, the overall pattern is chaotic.
With 59 tools, the server is extremely heavy for an MCP server. While each tool is well-defined, the sheer number can overwhelm an agent's tool selection. A more focused scope (e.g., separating linear algebra from basic arithmetic) would improve usability.
The tool set covers a vast range of mathematical domains: arithmetic, trigonometry, statistics, number theory, finance, linear algebra, 3D graphics, and probability. Minor gaps exist (e.g., no general linear system solver beyond 2x2, no calculus operations), but overall it is very comprehensive for a general math server.
Maintenance
Related MCP Connectors
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.1333 npm191MIT
- AlicenseBqualityCmaintenanceA Model Context Protocol server that provides basic calculator functionality for LLMs, enabling them to perform mathematical operations like addition, subtraction, multiplication, division, modulo, and square root.6235 npm15MIT
- -licenseNot gradedqualityNot gradedmaintenanceA calculator server that exposes mathematical functions as tools (add, subtract, multiply, divide, square, power, square root), enabling language models to perform calculations through Model Context Protocol (MCP).-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that exposes 8 mathematical tools (arithmetic, algebra, calculus, matrix operations, statistics, probability, unit conversions) to any MCP-compatible AI agent, enabling mathematical computations without code.811 npm1MIT