Math-MCP
A Model Context Protocol (MCP) server that provides basic mathematical, statistical and trigonometric functions to Large Language Models (LLMs).
README
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.
<a href="https://glama.ai/mcp/servers/exa5lt8dgd"> <img width="380" height="200" src="https://glama.ai/mcp/servers/exa5lt8dgd/badge" alt="Math-MCP MCP server" /> </a>
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
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 |
|---|---|---|
add |
Adds two numbers together | firstNumber: The first addend<br>secondNumber: The second addend |
subtract |
Subtracts the second number from the first number | minuend: The number to subtract from (minuend)<br>subtrahend: The number being subtracted (subtrahend) |
multiply |
Multiplies two numbers together | firstNumber: The first number<br>secondNumber: The second number |
division |
Divides the first number by the second number | numerator: The number being divided (numerator)<br>denominator: The number to divide by (denominator) |
sum |
Adds any number of numbers together | numbers: Array of numbers to sum |
modulo |
Divides two numbers and returns the remainder | numerator: The number being divided (numerator)<br>denominator: The number to divide by (denominator) |
floor |
Rounds a number down to the nearest integer | number: The number to round down |
ceiling |
Rounds a number up to the nearest integer | number: The number to round up |
round |
Rounds a number to the nearest integer | number: The number to round |
Statistical Operations
| Function | Description | Parameters |
|---|---|---|
mean |
Calculates the arithmetic mean of a list of numbers | numbers: Array of numbers to find the mean of |
median |
Calculates the median of a list of numbers | numbers: Array of numbers to find the median of |
mode |
Finds the most common number in a list of numbers | numbers: Array of numbers to find the mode of |
min |
Finds the minimum value from a list of numbers | numbers: Array of numbers to find the minimum of |
max |
Finds the maximum value from a list of numbers | numbers: Array of numbers to find the maximum of |
variance |
Calculates population or sample variance | numbers: Values<br>sample: Optional; use true for n-1 |
standard_deviation |
Calculates population or sample standard deviation | numbers: Values<br>sample: Optional; use true for n-1 |
percentile |
Calculates an inclusive R-7/Excel-style percentile | numbers: Values<br>percentile: 0 through 100 |
correlation |
Calculates Pearson correlation for paired observations | firstValues: First series<br>secondValues: Second series |
linear_regression |
Fits y = slope*x + intercept and returns R-squared |
xValues: X series<br>yValues: Y series |
Exact and Number-Theory Operations
| Function | Description | Parameters |
|---|---|---|
greatest_common_divisor |
Finds the GCD of two safe integers | first, second: Integers |
least_common_multiple |
Finds the exact LCM as a decimal string | first, second: Integers |
is_prime |
Tests a safe integer for primality | value: Non-negative integer |
prime_factors |
Finds prime factors up to 1,000,000,000,000 | value: Integer |
factorial |
Calculates n! exactly through 1000! | value: Integer |
combinations |
Calculates n choose r exactly | total: n<br>selected: r |
permutations |
Calculates nPr exactly | total: n<br>selected: r |
simplify_fraction |
Reduces an arbitrary-size integer fraction exactly | numerator, denominator: Decimal integer strings |
fraction_arithmetic |
Adds, subtracts, multiplies, or divides fractions exactly | operation; two numerator/denominator pairs as strings |
Applied Operations
| Function | Description | Parameters |
|---|---|---|
percentage_of |
Calculates a percentage of a value | value<br>percentage: Use 15 for 15% |
percentage_change |
Calculates percent increase or decrease | originalValue<br>newValue |
round_to |
Rounds to a requested number of decimal places | value<br>decimalPlaces: 0 through 15 |
compound_interest |
Calculates compound growth and optional end-of-period contributions | principal, annualRatePercent, years, compoundsPerYear, optional contributionPerPeriod |
loan_payment |
Calculates fixed-rate payment, total paid, and total interest | principal, annualRatePercent, years, paymentsPerYear |
Algebra Operations
| Function | Description | Parameters |
|---|---|---|
solve_quadratic |
Solves a*x^2 + b*x + c = 0, including complex roots |
a, b, c |
solve_linear_system_2x2 |
Solves or classifies two linear equations | Coefficients a1, b1, c1, a2, b2, c2 |
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 |
|---|---|
quaternion_from_euler |
Converts Euler radians and an explicit rotation order to a quaternion |
compose_transform_4x4 |
Builds a translation * rotation * scale matrix |
multiply_matrices_4x4 |
Multiplies two matrices as first * second |
transform_point_3d |
Applies a matrix to a 3D point with homogeneous w=1 |
bone_local_to_world |
Combines one bone's local transform with its parent world matrix |
bone_hierarchy_to_world |
Resolves named parent/child local transforms into world-space bones |
look_at_view_matrix |
Creates a right- or left-handed world-to-view camera matrix |
perspective_projection_matrix |
Creates a projection matrix with selectable handedness and clip-depth range |
world_to_view |
Applies the view matrix to a world-space point |
view_to_clip |
Applies the projection matrix to produce a 4D clip-space point |
clip_to_ndc |
Performs perspective division: (x/w, y/w, z/w) |
ndc_to_screen |
Scales NDC to a requested pixel width and height |
world_to_screen |
Runs projection with a combined projection * view matrix and reports visibility |
project_bone_points |
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 pixels
Probability Operations
| Function | Description | Parameters |
|---|---|---|
bayes_theorem |
Calculates `P(H | E) = P(E |
bayes_update_hypotheses |
Normalizes likelihood-weighted priors across hypotheses | Array of hypothesis labels, priors, and likelihoods |
Trigonometric Operations
| Function | Description | Parameters |
|---|---|---|
sin |
Calculates the sine of a number in radians | number: The number in radians to find the sine of |
arcsin |
Calculates the arcsine (in radians) of a number | number: The number to find the arcsine of |
cos |
Calculates the cosine of a number in radians | number: The number in radians to find the cosine of |
arccos |
Calculates the arccosine (in radians) of a number | number: The number to find the arccosine of |
tan |
Calculates the tangent of a number in radians | number: The number in radians to find the tangent of |
arctan |
Calculates the arctangent (in radians) of a number | number: The number to find the arctangent of |
radiansToDegrees |
Converts a radian value to its equivalent in degrees | number: The number in radians to convert to degrees |
degreesToRadians |
Converts a degree value to its equivalent in radians | number: The number in degrees to convert to radians |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.