protogrid

Search / io.github.clouatre-labs/math-mcp-learning-server

Math MCP Learning

R0· no sign-in

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

v0.12.5 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality78good
Trust91of 100
Uptime, 30 days100%
Latency p50428 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "math-mcp-learning-server": {
      "type": "http",
      "url": "https://math-mcp.fastmcp.app/mcp"
    }
  }
}
claude mcp add --transport http math-mcp-learning-server https://math-mcp.fastmcp.app/mcp
[mcp_servers.math-mcp-learning-server]
url = "https://math-mcp.fastmcp.app/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "math-mcp-learning-server": {
      "type": "remote",
      "url": "https://math-mcp.fastmcp.app/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "math-mcp-learning-server": {
      "type": "http",
      "url": "https://math-mcp.fastmcp.app/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=math-mcp-learning-server&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWF0aC1tY3AuZmFzdG1jcC5hcHAvbWNwIn0%3D"
}
{
  "servers": {
    "math-mcp-learning-server": {
      "type": "http",
      "url": "https://math-mcp.fastmcp.app/mcp"
    }
  }
}
{
  "mcpServers": {
    "math-mcp-learning-server": {
      "httpUrl": "https://math-mcp.fastmcp.app/mcp"
    }
  }
}
extensions:
  "math-mcp-learning-server":
    enabled: true
    name: "math-mcp-learning-server"
    type: streamable_http
    uri: "https://math-mcp.fastmcp.app/mcp"
    timeout: 300

Quality 78 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations17 of 17 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: calc_expression (destructiveHint, openWorldHint); calc_statistics (destructiveHint, openWorldHint); calc_interest (destructiveHint, openWorldHint); …
  • pass
    tools.token_costabout 2,959 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes17 tool changes in 30 days
  • fail
    stability.rug_pull15 tools kept their name but changed most of their description in 30 days; review before trusting them
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 69 resolved packages
  • pass
    deps.mcp_sdk_versionmcp 1.30.0, no known advisory
  • pass
    deps.resolvable[email protected] resolved: 69 packages

17 tools, about 2,959 tokens to load them all · tool set d3cfe79fc874 · tools last changed 2026-10-12 · checked 2026-10-20 13:17 UTC

Tool changes

  • plot_financial_linechangeddescriptionmeaning changed
    before

    Generate and plot synthetic financial price data (requires matplotlib). Creates realistic price movement patterns for educational purposes. Does not use real market data. 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')

    after · 46% of words in common

    Generate and plot synthetic financial price data (requires matplotlib). Creates realistic price movement patterns for educational purposes. Does not use real market data.

  • plot_box_plotchangeddescriptionmeaning changed
    before

    Create a box plot for comparing distributions (requires matplotlib). 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")

    after · 32% of words in common

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

  • plot_scatterchangeddescriptionmeaning changed
    before

    Create a scatter plot from data points (requires matplotlib). Examples: plot_scatter([1, 2, 3, 4], [1, 4, 9, 16], title="Correlation Study") plot_scatter([1, 2, 3], [2, 4, 5], color='purple', point_size=100)

    after · 36% of words in common

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

  • plot_line_chartchangeddescriptionmeaning changed
    before

    Create a line chart from data points (requires matplotlib). 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')

    after · 23% of words in common

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

  • plot_histogramchangeddescriptionmeaning changed
    before

    Create statistical histograms (requires matplotlib). Examples: plot_histogram([1.0, 2.0, 2.5, 3.0, 3.5, 4.0, 5.0]) plot_histogram([10, 20, 30, 40, 50], bins=5, title="Test Scores")

    after · 22% of words in common

    Create statistical histograms (requires matplotlib).

  • plot_functionchangeddescriptionmeaning changed
    before

    Generate mathematical function plots (requires matplotlib). Examples: plot_function("x**2", (-5, 5)) plot_function("sin(x)", (-3.14, 3.14))

    after · 43% of words in common

    Generate mathematical function plots (requires matplotlib).

  • workspace_loadchangeddescriptionmeaning changed
    before

    Load previously saved calculation result from workspace. Examples: load_variable("portfolio_return") # Returns saved calculation load_variable("circle_area") # Access across sessions

    after · 41% of words in common

    Load previously saved calculation result from workspace.

  • workspace_savechangeddescriptionmeaning changed
    before

    Save 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)

    after · 32% of words in common

    Save calculation to persistent workspace (survives restarts).

  • matrix_eigenvalueschangeddescriptionmeaning changed
    before

    Calculate the eigenvalues of a square matrix. 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

    after · 29% of words in common

    Calculate the eigenvalues of a square matrix.

  • matrix_inversechangeddescriptionmeaning changed
    before

    Calculate the inverse of a square matrix. Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_inverse([[1, 2], [3, 4]]) matrix_inverse([[2, 0], [0, 2]]) # Diagonal matrix

    after · 32% of words in common

    Calculate the inverse of a square matrix.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 91 / 100

provenance80
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +reachable +uptime-100% ~updated-49d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] PyPI68 dependencies, resolved · MCP SDK mcp 1.30.0 · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://math-mcp.fastmcp.app/mcp streamable-httpnoneyes100%428 ms2026-07-282026-10-20
packageregistryversionruntimesecrets
math-mcp-learning-serverpypi0.12.5–

Tools (17)

calc_expressionread-onlySafely evaluate mathematical expressions with support for basic operations and math functions. Supported operations: +, -, *, /, **, () Supported functions: sin, cos, tan, log, sqrt, abs, pow
calc_interestread-onlyCalculate 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
calc_statisticsread-onlyPerform statistical calculations on a list of numbers. Available operations: mean, median, mode, std_dev, variance
calc_unitsread-onlyConvert 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)
matrix_determinantread-onlyCalculate the determinant of a square matrix.
matrix_eigenvaluesread-onlyCalculate the eigenvalues of a square matrix.
matrix_inverseread-onlyCalculate the inverse of a square matrix.
matrix_multiplyread-onlyMultiply two matrices (A × B).
matrix_transposeread-onlyTranspose a matrix (swap rows and columns).
plot_box_plotread-onlyCreate a box plot for comparing distributions (requires matplotlib).
plot_financial_lineread-onlyGenerate and plot synthetic financial price data (requires matplotlib). Creates realistic price movement patterns for educational purposes. Does not use real market data.
plot_functionread-onlyGenerate mathematical function plots (requires matplotlib).
plot_histogramread-onlyCreate statistical histograms (requires matplotlib).
plot_line_chartread-onlyCreate a line chart from data points (requires matplotlib).
plot_scatterread-onlyCreate a scatter plot from data points (requires matplotlib).
workspace_loadread-onlyLoad previously saved calculation result from workspace.
workspace_saveSave calculation to persistent workspace (survives restarts).

Schemas: list_tools.

Similar MCP servers

More from io.github.clouatre-labs

Official server.json
{
  "name": "io.github.clouatre-labs/math-mcp-learning-server",
  "title": "Math MCP Learning",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://math-mcp.fastmcp.app/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.12.5",
  "packages": [
    {
      "version": "0.12.5",
      "transport": {
        "type": "stdio"
      },
      "identifier": "math-mcp-learning-server",
      "registryType": "pypi"
    }
  ],
  "repository": {
    "url": "https://github.com/clouatre-labs/math-mcp-learning-server",
    "source": "github"
  },
  "description": "Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace"
}