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 |
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。