Skip to main content
Glama

Server Details

Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
clouatre-labs/math-mcp-learning-server
GitHub Stars
2

See and control every tool call

Log every tool call with full inputs and outputs
Control which tools are enabled per connector
Manage credentials once, use from any MCP client
Monitor uptime and get alerted when servers go down

Available Tools

17 tools
calculateTry in Inspector

Safely evaluate mathematical expressions with support for basic operations and math functions.

Supported operations: +, -, *, /, **, () Supported functions: sin, cos, tan, log, sqrt, abs, pow

Examples:

  • "2 + 3 * 4" → 14

  • "sqrt(16)" → 4.0

  • "sin(3.14159/2)" → 1.0

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYes
compound_interestTry in Inspector

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

ParametersJSON Schema
NameRequiredDescriptionDefault
rateYes
timeYes
principalYes
compounds_per_yearNo
convert_unitsTry in Inspector

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
to_unitYes
from_unitYes
unit_typeYes
create_histogramTry in Inspector

Create statistical histograms (requires matplotlib).

Args: data: List of numerical values bins: Number of histogram bins (default: 20) title: Chart title ctx: FastMCP context for logging

Returns: Dict with base64-encoded PNG image or error message

Examples: create_histogram([1.0, 2.0, 2.5, 3.0, 3.5, 4.0, 5.0]) create_histogram([10, 20, 30, 40, 50], bins=5, title="Test Scores")

ParametersJSON Schema
NameRequiredDescriptionDefault
binsNo
dataYes
titleNoData Distribution
load_variableTry in Inspector

Load previously saved calculation result from workspace.

Args: name: Variable name to load

Examples: load_variable("portfolio_return") # Returns saved calculation load_variable("circle_area") # Access across sessions

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
matrix_determinantTry in Inspector

Calculate the determinant of a square matrix.

Args: matrix: Square matrix (n x n)

Returns: Determinant value (scalar)

Examples: matrix_determinant([[1, 2], [3, 4]]) matrix_determinant([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) # Identity matrix

ParametersJSON Schema
NameRequiredDescriptionDefault
matrixYes
matrix_eigenvaluesTry in Inspector

Calculate the eigenvalues of a square matrix.

Args: matrix: Square matrix (n x n)

Returns: List of eigenvalues (may be complex numbers)

Examples: matrix_eigenvalues([[4, 2], [1, 3]]) matrix_eigenvalues([[3, 0, 0], [0, 5, 0], [0, 0, 7]]) # Diagonal matrix

ParametersJSON Schema
NameRequiredDescriptionDefault
matrixYes
matrix_inverseTry in Inspector

Calculate the inverse of a square matrix.

Args: matrix: Square matrix (n x n)

Returns: Inverse matrix (n x n)

Examples: matrix_inverse([[1, 2], [3, 4]]) matrix_inverse([[2, 0], [0, 2]]) # Diagonal matrix

ParametersJSON Schema
NameRequiredDescriptionDefault
matrixYes
matrix_multiplyTry in Inspector

Multiply two matrices (A × B).

Args: matrix_a: First matrix (m x n) matrix_b: Second matrix (n x p)

Returns: Result matrix (m x p)

Examples: matrix_multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]]) matrix_multiply([[1, 2, 3]], [[1], [2], [3]])

ParametersJSON Schema
NameRequiredDescriptionDefault
matrix_aYes
matrix_bYes
matrix_transposeTry in Inspector

Transpose a matrix (swap rows and columns).

Args: matrix: Input matrix (m x n)

Returns: Transposed matrix (n x m)

Examples: matrix_transpose([[1, 2, 3], [4, 5, 6]]) matrix_transpose([[1], [2], [3]])

ParametersJSON Schema
NameRequiredDescriptionDefault
matrixYes
plot_box_plotTry in Inspector

Create a box plot for comparing distributions (requires matplotlib).

Args: data_groups: List of data groups to compare group_labels: Optional labels for each group title: Chart title y_label: Y-axis label color: Box color (name or hex code, e.g., 'blue', '#2E86AB') ctx: FastMCP context for logging

Returns: Dict with base64-encoded PNG image or error message

Examples: plot_box_plot([[1, 2, 3, 4, 5], [2, 4, 6, 8, 10]], group_labels=["A", "B"]) plot_box_plot([[10, 20, 30], [15, 25, 35], [5, 15, 25]], title="Comparison")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
titleNoBox Plot
y_labelNoValues
data_groupsYes
group_labelsNo
plot_financial_lineTry in Inspector

Generate and plot synthetic financial price data (requires matplotlib).

Creates realistic price movement patterns for educational purposes. Does not use real market data.

Args: days: Number of days to generate (default: 30) trend: Market trend ('bullish', 'bearish', or 'volatile') start_price: Starting price value (default: 100.0) color: Line color (name or hex code, e.g., 'blue', '#2E86AB') ctx: FastMCP context for logging

Returns: Dict with base64-encoded PNG image or error message

Examples: plot_financial_line(days=60, trend='bullish') plot_financial_line(days=90, trend='volatile', start_price=150.0, color='orange')

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
colorNo
trendNobullish
start_priceNo
plot_functionTry in Inspector

Generate mathematical function plots (requires matplotlib).

Args: expression: Mathematical expression to plot (e.g., "x**2", "sin(x)") x_range: Tuple of (min, max) for x-axis range num_points: Number of points to plot (default: 100) ctx: FastMCP context for logging

Returns: Image object with PNG data or VisualizationError on failure

Examples: plot_function("x**2", (-5, 5)) plot_function("sin(x)", (-3.14, 3.14))

ParametersJSON Schema
NameRequiredDescriptionDefault
x_rangeYes
expressionYes
num_pointsNo
plot_line_chartTry in Inspector

Create a line chart from data points (requires matplotlib).

Args: x_data: X-axis data points y_data: Y-axis data points title: Chart title x_label: X-axis label y_label: Y-axis label color: Line color (name or hex code, e.g., 'blue', '#2E86AB') show_grid: Whether to show grid lines ctx: FastMCP context for logging

Returns: Dict with base64-encoded PNG image or error message

Examples: plot_line_chart([1, 2, 3, 4], [1, 4, 9, 16], title="Squares") plot_line_chart([0, 1, 2], [0, 1, 4], color='red', x_label='Time', y_label='Distance')

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
titleNoLine Chart
x_dataYes
y_dataYes
x_labelNoX
y_labelNoY
show_gridNo
plot_scatter_chartTry in Inspector

Create a scatter plot from data points (requires matplotlib).

Args: x_data: X-axis data points y_data: Y-axis data points title: Chart title x_label: X-axis label y_label: Y-axis label color: Point color (name or hex code, e.g., 'blue', '#2E86AB') point_size: Size of scatter points (default: 50) ctx: FastMCP context for logging

Returns: Dict with base64-encoded PNG image or error message

Examples: plot_scatter_chart([1, 2, 3, 4], [1, 4, 9, 16], title="Correlation Study") plot_scatter_chart([1, 2, 3], [2, 4, 5], color='purple', point_size=100)

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
titleNoScatter Plot
x_dataYes
y_dataYes
x_labelNoX
y_labelNoY
point_sizeNo
save_calculationTry in Inspector

Save calculation to persistent workspace (survives restarts).

Args: name: Variable name to save under expression: The mathematical expression result: The calculated result

Examples: save_calculation("portfolio_return", "10000 * 1.07^5", 14025.52) save_calculation("circle_area", "pi * 5^2", 78.54)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
resultYes
expressionYes
statisticsTry in Inspector

Perform statistical calculations on a list of numbers.

Available operations: mean, median, mode, std_dev, variance

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYes
operationYes

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.