Math MCP Learning
Server Details
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
- Status
- Healthy
- Uptime
- 100.0% over 57 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- clouatre-labs/math-mcp-learning-server
- GitHub Stars
- 5
- Server Listing
- math-mcp-learning-server
TDQS
Scored across 17 tools
Most tools are clearly distinct (calculation, interest, stats, units, matrix ops, plotting, workspace). However, plot_function, plot_line_chart, and plot_financial_line could be confused since they all produce line-like plots, though descriptions note their specific use cases.
Tool names follow a clear, consistent prefix pattern: calc_*, matrix_*, plot_*, and workspace_*. This makes it easy to infer related functionality at a glance.
17 tools is on the higher side but acceptable for the wide math scope (basic arithmetic, statistics, units, matrices, plotting, workspace). Each tool serves a distinct purpose, though a couple like plot_line_chart and plot_function could potentially be consolidated.
Core mathematical operations are well covered: expression evaluation, statistics, unit conversion, matrix operations, and common plot types. Minor gaps exist (e.g., no bar chart, no equation solving), but these are not critical for the server's apparent educational purpose.
Available Tools
17 toolscalc_expressionMathematical CalculatorRead-onlyIdempotentInspect
Safely evaluate mathematical expressions with support for basic operations and math functions.
Supported operations: +, -, *, /, **, () Supported functions: sin, cos, tan, log, sqrt, abs, pow
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | Mathematical expression to evaluate. Supports +, -, *, /, **, and math functions (sin, cos, sqrt, log, etc.). Example: '2 * sin(pi/4) + sqrt(16)' |
Output Schema
| Name | Required | Description |
|---|---|---|
| topic | Yes | |
| result | Yes | |
| difficulty | Yes | |
| expression | Yes |
calc_interestCompound Interest CalculatorRead-onlyIdempotentInspect
Calculate compound interest for investments.
Formula: A = P(1 + r/n)^(nt) Where:
P = principal amount
r = annual interest rate (as decimal)
n = number of times interest compounds per year
t = time in years
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Annual interest rate as decimal 0.0-1.0 (e.g. 0.05 = 5%). If entering a percentage, divide by 100 first. | |
| time | Yes | Investment time in years (must be > 0), e.g. 10.0 | |
| principal | Yes | Initial investment amount in dollars (must be > 0), e.g. 1000.0 | |
| compounds_per_year | No | Compounding frequency per year (must be > 0): 12=monthly, 365=daily |
Output Schema
| Name | Required | Description |
|---|---|---|
| rate | Yes | |
| time | Yes | |
| topic | Yes | |
| formula | Yes | |
| principal | Yes | |
| difficulty | Yes | |
| final_amount | Yes | |
| total_interest | Yes | |
| compounds_per_year | Yes |
calc_statisticsStatistical AnalysisRead-onlyIdempotentInspect
Perform statistical calculations on a list of numbers.
Available operations: mean, median, mode, std_dev, variance
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | List of numbers to compute descriptive statistics on. Example: [1.0, 2.5, 3.0, 4.5, 5.0] | |
| operation | Yes | Statistical operation to perform. Allowed values: mean, median, mode, std_dev, variance |
Output Schema
| Name | Required | Description |
|---|---|---|
| topic | Yes | |
| result | Yes | |
| operation | Yes | |
| difficulty | Yes | |
| sample_size | Yes |
calc_unitsUnit ConverterRead-onlyIdempotentInspect
Convert between different units of measurement.
Supported unit types:
length: mm, cm, m, km, in, ft, yd, mi
weight: g, kg, oz, lb
temperature: c, f, k (Celsius, Fahrenheit, Kelvin)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Numeric value to convert, e.g., 100.0 | |
| to_unit | Yes | Target unit abbreviation. Valid units depend on unit_type: length (mm, cm, m, km, in, ft, yd, mi), weight (g, kg, oz, lb), temperature (c, f, k) | |
| from_unit | Yes | Source unit abbreviation. Valid units depend on unit_type: length (mm, cm, m, km, in, ft, yd, mi), weight (g, kg, oz, lb), temperature (c, f, k) | |
| unit_type | Yes | Unit category: length, weight, or temperature |
Output Schema
| Name | Required | Description |
|---|---|---|
| topic | Yes | |
| value | Yes | |
| to_unit | Yes | |
| from_unit | Yes | |
| unit_type | Yes | |
| difficulty | Yes | |
| converted_value | Yes |
matrix_determinantMatrix DeterminantRead-onlyIdempotentInspect
Calculate the determinant of a square matrix.
| Name | Required | Description | Default |
|---|---|---|---|
| matrix | Yes | 2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]] |
Output Schema
| Name | Required | Description |
|---|---|---|
| size | Yes | |
| topic | Yes | |
| difficulty | Yes | |
| determinant | Yes |
matrix_eigenvaluesMatrix EigenvaluesRead-onlyIdempotentInspect
Calculate the eigenvalues of a square matrix.
| Name | Required | Description | Default |
|---|---|---|---|
| matrix | Yes | 2D list of numbers representing a square matrix. Each inner list is a row. Example: [[4, 2], [1, 3]] |
Output Schema
| Name | Required | Description |
|---|---|---|
| size | Yes | |
| error | No | |
| topic | Yes | |
| success | Yes | |
| difficulty | Yes | |
| eigenvalues | No | |
| eigenvectors | No | |
| complex_values | No | |
| complex_eigenvalues_warning | No |
matrix_inverseMatrix InverseRead-onlyIdempotentInspect
Calculate the inverse of a square matrix.
| Name | Required | Description | Default |
|---|---|---|---|
| matrix | Yes | 2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]] |
Output Schema
| Name | Required | Description |
|---|---|---|
| size | Yes | |
| error | No | |
| topic | Yes | |
| success | Yes | |
| difficulty | Yes | |
| result_matrix | No |
matrix_multiplyMatrix MultiplicationRead-onlyIdempotentInspect
Multiply two matrices (A × B).
| Name | Required | Description | Default |
|---|---|---|---|
| matrix_a | Yes | 2D list of numbers representing the first matrix. Each inner list is a row. Example: [[1, 2], [3, 4]] | |
| matrix_b | Yes | 2D list of numbers representing the second matrix. Each inner list is a row. Example: [[5, 6], [7, 8]] |
Output Schema
| Name | Required | Description |
|---|---|---|
| topic | Yes | |
| cols_a | Yes | |
| cols_b | Yes | |
| rows_a | Yes | |
| rows_b | Yes | |
| difficulty | Yes | |
| result_matrix | Yes |
matrix_transposeMatrix TransposeRead-onlyIdempotentInspect
Transpose a matrix (swap rows and columns).
| Name | Required | Description | Default |
|---|---|---|---|
| matrix | Yes | 2D list of numbers representing the matrix. Each inner list is a row. Example: [[1, 2, 3], [4, 5, 6]] |
Output Schema
| Name | Required | Description |
|---|---|---|
| topic | Yes | |
| difficulty | Yes | |
| original_cols | Yes | |
| original_rows | Yes | |
| result_matrix | Yes |
plot_box_plotBox PlotRead-onlyIdempotentInspect
Create a box plot for comparing distributions (requires matplotlib).
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Box color (name or hex code, e.g., 'blue', '#2E86AB') | |
| title | No | Chart title string, e.g., 'Distribution Comparison' | Box Plot |
| y_label | No | Y-axis label, e.g., 'Values' | Values |
| data_groups | Yes | List of data groups to compare, e.g., [[1, 2, 3], [4, 5, 6]] | |
| group_labels | No | Labels for each group, e.g., ['Group A', 'Group B'] |
plot_financial_lineFinancial Line ChartRead-onlyIdempotentInspect
Generate and plot synthetic financial price data (requires matplotlib).
Creates realistic price movement patterns for educational purposes. Does not use real market data.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to generate, e.g., 30 | |
| color | No | Line color (name or hex code, e.g., 'blue', '#2E86AB') | |
| trend | No | Market trend direction | bullish |
| start_price | No | Starting price value, e.g., 100.0 |
plot_functionFunction PlotterRead-onlyIdempotentInspect
Generate mathematical function plots (requires matplotlib).
| Name | Required | Description | Default |
|---|---|---|---|
| x_range | Yes | X-axis range as (min, max), e.g., (-5.0, 5.0) | |
| expression | Yes | Mathematical expression to plot, e.g., "x**2" or "sin(x)". Must be <= MAX_EXPRESSION_LENGTH characters. Example: "x**2" | |
| num_points | No | Number of sample points to plot along x_range, e.g., 100 |
plot_histogramStatistical HistogramRead-onlyIdempotentInspect
Create statistical histograms (requires matplotlib).
| Name | Required | Description | Default |
|---|---|---|---|
| bins | No | Number of histogram bins, e.g., 20 | |
| data | Yes | List of numeric values to bin, e.g., [1.0, 2.0, 2.5, 3.0] | |
| title | No | Chart title string, e.g., 'Data Distribution' | Data Distribution |
plot_line_chartLine ChartRead-onlyIdempotentInspect
Create a line chart from data points (requires matplotlib).
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Line color (name or hex code, e.g., 'blue', '#2E86AB') | |
| title | No | Chart title string, e.g., 'Squares' | Line Chart |
| x_data | Yes | X-axis data points, e.g., [1, 2, 3, 4] | |
| y_data | Yes | Y-axis data points, e.g., [1, 4, 9, 16] | |
| x_label | No | X-axis label, e.g., 'Time' | X |
| y_label | No | Y-axis label, e.g., 'Distance' | Y |
| show_grid | No | Whether to display grid lines |
plot_scatterScatter PlotRead-onlyIdempotentInspect
Create a scatter plot from data points (requires matplotlib).
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Point color (name or hex code, e.g., 'blue', '#2E86AB') | |
| title | No | Chart title string, e.g., 'Correlation Study' | Scatter Plot |
| x_data | Yes | X-axis data points, e.g., [1, 2, 3, 4] | |
| y_data | Yes | Y-axis data points, e.g., [1, 4, 9, 16] | |
| x_label | No | X-axis label, e.g., 'Variable X' | X |
| y_label | No | Y-axis label, e.g., 'Variable Y' | Y |
| point_size | No | Scatter point size in points^2, e.g., 50 |
workspace_loadLoad VariableRead-onlyIdempotentInspect
Load previously saved calculation result from workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the variable to load from workspace, e.g., 'circle_area' |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| error | No | |
| topic | No | |
| action | Yes | |
| result | No | |
| success | Yes | |
| timestamp | No | |
| difficulty | No | |
| expression | No | |
| session_id | No | |
| available_variables | No |
workspace_saveSave Calculation to WorkspaceInspect
Save calculation to persistent workspace (survives restarts).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Variable name for the saved calculation. Used to retrieve it later. Example: 'circle_area' | |
| result | Yes | Numeric result of evaluating the expression, e.g., 78.54 | |
| expression | Yes | The mathematical expression that was evaluated. Example: 'pi * r**2' |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| topic | Yes | |
| action | No | |
| is_new | Yes | |
| result | Yes | |
| success | Yes | |
| difficulty | Yes | |
| expression | Yes | |
| session_id | No | |
| total_variables | Yes |
Related MCP Connectors
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
An MCP server for deep research or task groups
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn MCP server that provides interactive 2D/3D math plotting, embedded CircuitJS circuit demonstrations, and locally rendered Manim slide videos for ChatGPT/Codex.-
- AlicenseBqualityDmaintenanceA Python-based MCP server providing mathematical computation tools and plotting utilities for a wide range of math topics including calculus, matrix operations, statistics, and more.225MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server providing over 30 mathematical and statistical tools, enabling language models to perform calculations, trigonometry, statistics, combinatorics, and list operations through natural language.27 npmMIT
- FlicenseBqualityDmaintenanceA comprehensive MCP server providing basic and advanced math operations (addition, subtraction, statistics, etc.) as well as smart prompts for multiplication tables, equation solving, financial calculations, geometry, unit conversion, loan amortization, probability, and fitness analytics.231-
Glama MCP Gateway
Add one secure layer between your agents and this server.