Math MCP Learning

Educational MCP server with math operations, statistics, visualizations, and persistent workspace.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

  • Calculate: Safely evaluate mathematical expressions with support for basic operations and math functions. Supported operations: +, -, *, /, **, () Supported functions: sin, cos, tan, log, sqrt, abs, p
  • Statistics: Perform statistical calculations on a list of numbers. Available operations: mean, median, mode, std_dev, variance Note: Use this tool to compute descriptive statistics over a list of numb
  • Compound Interest: 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 compou

What data it sees

Do you need an account

No: the server works without sign-in

Educational MCP server with math operations, statistics, visualizations, and persistent workspace.

How to connect

How to connect Math MCP Learning to Claude

The server address to paste into Claude settings:

https://math-mcp--clouatre-labs.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Math MCP Learning to ChatGPT

The server address to paste into ChatGPT settings:

https://math-mcp--clouatre-labs.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Math MCP Learning to Cursor

The server address to paste into Cursor settings:

https://math-mcp--clouatre-labs.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (17)

Raw names from tools/list. Only developers need these.

calculateSafely evaluate mathematical expressions with support for basic operations and math functions. Supported operations: +, -, *, /, **, () Supported functions: sin, cos, tan, log, sqrt, abs, pow Note: Use this tool to evaluate a single mathematical expression. To compute descriptive statistics over a list of numbers, use the statistics tool instead. Examples: - "2 + 3 * 4" → 14 - "sqrt(16)" → 4.0 - "sin(3.14159/2)" → 1.0
statisticsPerform statistical calculations on a list of numbers. Available operations: mean, median, mode, std_dev, variance Note: Use this tool to compute descriptive statistics over a list of numbers. To evaluate a single mathematical expression, use the calculate tool instead. Examples: statistics([1.0, 2.5, 3.0, 4.5, 5.0], "mean") # Returns 3.2 statistics([1.0, 2.5, 3.0, 4.5, 5.0], "std_dev") # Returns ~1.58
compound_interestCalculate 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 Examples: compound_interest(10000, 0.05, 5) # $10,000 at 5% for 5 years → $12,762.82 compound_interest(5000, 0.03, 10, 12) # $5,000 at 3% compounded monthly → $6,744.25
convert_unitsConvert 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) Examples: convert_units(5, "km", "mi", "length") # 5 kilometers → 3.11 miles convert_units(150, "lb", "kg", "weight") # 150 pounds → 68.04 kilograms
matrix_multiplyMultiply two matrices (A × B). Args: matrix_a: First matrix (m x n) matrix_b: Second matrix (n x p) Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]]) matrix_multiply([[1, 2, 3]], [[1], [2], [3]])
matrix_transposeTranspose a matrix (swap rows and columns). Args: matrix: Input matrix (m x n) Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_transpose([[1, 2, 3], [4, 5, 6]]) matrix_transpose([[1], [2], [3]])
matrix_determinantCalculate the determinant of a square matrix. Args: matrix: Square matrix (n x n) Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_determinant([[1, 2], [3, 4]]) matrix_determinant([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) # Identity matrix
matrix_inverseCalculate the inverse of a square matrix. Args: matrix: Square matrix (n x n) Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_inverse([[1, 2], [3, 4]]) matrix_inverse([[2, 0], [0, 2]]) # Diagonal matrix
matrix_eigenvaluesCalculate the eigenvalues of a square matrix. Args: matrix: Square matrix (n x n) Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_eigenvalues([[4, 2], [1, 3]]) matrix_eigenvalues([[3, 0, 0], [0, 5, 0], [0, 0, 7]]) # Diagonal matrix
save_calculationSave calculation to persistent workspace (survives restarts). Examples: save_calculation("portfolio_return", "10000 * 1.07^5", 14025.52) save_calculation("circle_area", "pi * 5^2", 78.54)
load_variableLoad previously saved calculation result from workspace. Examples: load_variable("portfolio_return") # Returns saved calculation load_variable("circle_area") # Access across sessions
plot_functionGenerate 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 Examples: plot_function("x**2", (-5, 5)) plot_function("sin(x)", (-3.14, 3.14))
create_histogramCreate 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 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")
plot_line_chartCreate 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 Note: Use for general XY data. For time-series price data with optional moving average, use plot_financial_line instead. 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')
plot_scatter_chartCreate 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 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)
plot_box_plotCreate 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 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")
plot_financial_lineGenerate 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 Note: Use for time-series price data with optional moving average overlay. For general XY data, use plot_line_chart instead. Examples: plot_financial_line(days=60, trend='bullish') plot_financial_line(days=90, trend='volatile', start_price=150.0, color='orange')