Educational server for mathematical operations, statistics, and data visualization with persistent workspace
Do not connect
The assessed surface is high-risk. Remediate the findings before connecting.
Scanned 7 days ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The Math Learning Server MCP server exposes 17 tools, focused primarily on general-purpose capabilities. Its published description reads: "Educational server for mathematical operations, statistics, and data visualization with persistent workspace". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates Math Learning Server D — the assessed surface is high-risk and should be remediated before use. Its most notable findings include "Unguarded destructive tools" and "Unguarded destructive tools". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check Math Learning Server's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add Math Learning Server to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://math-mcp.fastmcp.app/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Safely evaluate mathematical expressions with support for basic operations and math functions. Supported operations: +, -, *, /, **, () Supported functions: sin, cos, tan, log, sqrt, abs, pow Note: Us
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 numbers. To eval
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: calc_expression
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
se this tool to evaluate a single mathematical expression. To compute descriptive statistics over a listRecommendationAnnotate destructive tools and require human approval.
tool: calc_statistics
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
of numbers. To evaluate a single mathematical expression, use the calculate tool instead. Examples:RecommendationAnnotate destructive tools and require human approval.
tool: plot_line_chart
A tool description tries to alter the model’s use of another tool.
ng average, use plot_financial_line instead. Examples: plot_line_chart([1, 2,RecommendationDescriptions must describe only their own tool.
tool: plot_financial_line
A tool description tries to alter the model’s use of another tool.
al XY data, use plot_line_chart instead. Examples: plot_financial_line(dayRecommendationDescriptions must describe only their own tool.
tool: (server instructions)
A tool description tries to alter the model’s use of another tool.
. MATRIX: Use `matrix_multiply`, `matrix_determinant`, `matrix_inverse`, `matrRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
Financial data service providing fundamental information for 30,000+ listed companies across the US, Japan, and Korea, sourced directly from SEC, EDINET, and DART regulatory filings.
Search tours, attraction tickets, and holiday packages across 24 countries.
Agentic visitor analytics with five tools for CRO and session analysis.
52 paid x402 API endpoints for AI agents — crypto, data, DeFi, and market intelligence, settled on Base.
Access Vonage API documentation, code snippets, tutorials, and troubleshooting resources.
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 =
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) Examples: con
Multiply two matrices (A × B). 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
Transpose a matrix (swap rows and columns). Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_transpose([[1, 2, 3], [4, 5, 6]]) matrix_transpose([[1], [2], [3]])
Calculate the determinant of a square matrix. Note: Requires NumPy. Raises ValueError if NumPy is unavailable. Examples: matrix_determinant([[1, 2], [3, 4]]) matrix_determinant([[1, 0, 0], [0, 1, 0],
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
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],
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)
Load previously saved calculation result from workspace. Examples: load_variable("portfolio_return") # Returns saved calculation load_variable("circle_area") # Access across sessions
Generate mathematical function plots (requires matplotlib). Examples: plot_function("x**2", (-5, 5)) plot_function("sin(x)", (-3.14, 3.14))
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")
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
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_si
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
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 pri