{"name":"io.github.clouatre-labs/math-mcp-learning-server","slug":"clouatre-labs-math-mcp-learning-server","title":"Math MCP Learning","description":"Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace","url":"https://mcp.market/server/clouatre-labs-math-mcp-learning-server","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":37,"stars":5,"forks":5,"downloads_week":97,"last_push_at":"2026-10-26T05:14:35.000Z","license":"NOASSERTION"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:50:56.296Z","last_ok_at":"2026-11-04T05:50:56.296Z","latency_ms":669},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/clouatre-labs/math-mcp-learning-server","website":null,"version":"0.12.5","remotes":[{"type":"streamable-http","url":"https://math-mcp.fastmcp.app/mcp"}],"packages":[{"registryType":"pypi","identifier":"math-mcp-learning-server","version":"0.12.5","transport":{"type":"stdio"}}],"tools":[{"name":"calc_expression","description":"Safely evaluate mathematical expressions with support for basic operations and math functions.\n\nSupported operations: +, -, *, /, **, ()\nSupported functions: sin, cos, tan, log, sqrt, abs, pow","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"expression":{"description":"Mathematical expression to evaluate. Supports +, -, *, /, **, and math functions (sin, cos, sqrt, log, etc.). Example: '2 * sin(pi/4) + sqrt(16)'","maxLength":500,"type":"string"}},"required":["expression"],"additionalProperties":false}},{"name":"calc_interest","description":"Calculate compound interest for investments.\n\nFormula: A = P(1 + r/n)^(nt)\nWhere:\n- P = principal amount\n- r = annual interest rate (as decimal)\n- n = number of times interest compounds per year\n- t = time in years","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"principal":{"description":"Initial investment amount in dollars (must be > 0), e.g. 1000.0","exclusiveMinimum":0,"type":"number"},"rate":{"description":"Annual interest rate as decimal 0.0-1.0 (e.g. 0.05 = 5%). If entering a percentage, divide by 100 first.","maximum":1,"minimum":0,"type":"number"},"time":{"description":"Investment time in years (must be > 0), e.g. 10.0","exclusiveMinimum":0,"type":"number"},"compounds_per_year":{"default":12,"description":"Compounding frequency per year (must be > 0): 12=monthly, 365=daily","exclusiveMinimum":0,"type":"integer"}},"required":["principal","rate","time"],"additionalProperties":false}},{"name":"calc_statistics","description":"Perform statistical calculations on a list of numbers.\n\nAvailable operations: mean, median, mode, std_dev, variance","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"numbers":{"description":"List of numbers to compute descriptive statistics on. Example: [1.0, 2.5, 3.0, 4.5, 5.0]","items":{"type":"number"},"maxItems":10000,"type":"array"},"operation":{"description":"Statistical operation to perform. Allowed values: mean, median, mode, std_dev, variance","examples":["mean","median","mode","std_dev","variance"],"type":"string"}},"required":["numbers","operation"],"additionalProperties":false}},{"name":"calc_units","description":"Convert between different units of measurement.\n\nSupported unit types:\n- length: mm, cm, m, km, in, ft, yd, mi\n- weight: g, kg, oz, lb\n- temperature: c, f, k (Celsius, Fahrenheit, Kelvin)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"description":"Numeric value to convert, e.g., 100.0","type":"number"},"from_unit":{"description":"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)","examples":["m","kg","c"],"type":"string"},"to_unit":{"description":"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)","examples":["ft","lb","f"],"type":"string"},"unit_type":{"description":"Unit category: length, weight, or temperature","examples":["length","weight","temperature"],"type":"string"}},"required":["value","from_unit","to_unit","unit_type"],"additionalProperties":false}},{"name":"matrix_determinant","description":"Calculate the determinant of a square matrix.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"matrix":{"description":"2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"additionalProperties":false}},{"name":"matrix_eigenvalues","description":"Calculate the eigenvalues of a square matrix.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"matrix":{"description":"2D list of numbers representing a square matrix. Each inner list is a row. Example: [[4, 2], [1, 3]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"additionalProperties":false}},{"name":"matrix_inverse","description":"Calculate the inverse of a square matrix.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"matrix":{"description":"2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"additionalProperties":false}},{"name":"matrix_multiply","description":"Multiply two matrices (A × B).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"matrix_a":{"description":"2D list of numbers representing the first matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"},"matrix_b":{"description":"2D list of numbers representing the second matrix. Each inner list is a row. Example: [[5, 6], [7, 8]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix_a","matrix_b"],"additionalProperties":false}},{"name":"matrix_transpose","description":"Transpose a matrix (swap rows and columns).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"matrix":{"description":"2D list of numbers representing the matrix. Each inner list is a row. Example: [[1, 2, 3], [4, 5, 6]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"additionalProperties":false}},{"name":"plot_box_plot","description":"Create a box plot for comparing distributions (requires matplotlib).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data_groups":{"description":"List of data groups to compare, e.g., [[1, 2, 3], [4, 5, 6]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":100,"type":"array"},"group_labels":{"anyOf":[{"items":{"type":"string"},"maxItems":100,"type":"array"},{"type":"null"}],"default":null,"description":"Labels for each group, e.g., ['Group A', 'Group B']"},"title":{"default":"Box Plot","description":"Chart title string, e.g., 'Distribution Comparison'","maxLength":100,"type":"string"},"y_label":{"default":"Values","description":"Y-axis label, e.g., 'Values'","maxLength":100,"type":"string"},"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Box color (name or hex code, e.g., 'blue', '#2E86AB')"}},"required":["data_groups"],"additionalProperties":false}},{"name":"plot_financial_line","description":"Generate and plot synthetic financial price data (requires matplotlib).\n\nCreates realistic price movement patterns for educational purposes.\nDoes not use real market data.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"days":{"default":30,"description":"Number of days to generate, e.g., 30","maximum":1000,"minimum":2,"type":"integer"},"trend":{"default":"bullish","description":"Market trend direction","examples":["bullish","bearish","volatile"],"type":"string"},"start_price":{"default":100,"description":"Starting price value, e.g., 100.0","type":"number"},"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Line color (name or hex code, e.g., 'blue', '#2E86AB')"}},"additionalProperties":false}},{"name":"plot_function","description":"Generate mathematical function plots (requires matplotlib).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"expression":{"description":"Mathematical expression to plot, e.g., \"x**2\" or \"sin(x)\". Must be <= MAX_EXPRESSION_LENGTH characters. Example: \"x**2\"","maxLength":500,"type":"string"},"x_range":{"description":"X-axis range as (min, max), e.g., (-5.0, 5.0)","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array"},"num_points":{"default":100,"description":"Number of sample points to plot along x_range, e.g., 100","maximum":10000,"minimum":2,"type":"integer"}},"required":["expression","x_range"],"additionalProperties":false}},{"name":"plot_histogram","description":"Create statistical histograms (requires matplotlib).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"description":"List of numeric values to bin, e.g., [1.0, 2.0, 2.5, 3.0]","items":{"type":"number"},"maxItems":10000,"type":"array"},"bins":{"default":20,"description":"Number of histogram bins, e.g., 20","type":"integer"},"title":{"default":"Data Distribution","description":"Chart title string, e.g., 'Data Distribution'","maxLength":100,"type":"string"}},"required":["data"],"additionalProperties":false}},{"name":"plot_line_chart","description":"Create a line chart from data points (requires matplotlib).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"x_data":{"description":"X-axis data points, e.g., [1, 2, 3, 4]","items":{"type":"number"},"maxItems":10000,"type":"array"},"y_data":{"description":"Y-axis data points, e.g., [1, 4, 9, 16]","items":{"type":"number"},"maxItems":10000,"type":"array"},"title":{"default":"Line Chart","description":"Chart title string, e.g., 'Squares'","maxLength":100,"type":"string"},"x_label":{"default":"X","description":"X-axis label, e.g., 'Time'","maxLength":100,"type":"string"},"y_label":{"default":"Y","description":"Y-axis label, e.g., 'Distance'","maxLength":100,"type":"string"},"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Line color (name or hex code, e.g., 'blue', '#2E86AB')"},"show_grid":{"default":true,"description":"Whether to display grid lines","type":"boolean"}},"required":["x_data","y_data"],"additionalProperties":false}},{"name":"plot_scatter","description":"Create a scatter plot from data points (requires matplotlib).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"x_data":{"description":"X-axis data points, e.g., [1, 2, 3, 4]","items":{"type":"number"},"maxItems":10000,"type":"array"},"y_data":{"description":"Y-axis data points, e.g., [1, 4, 9, 16]","items":{"type":"number"},"maxItems":10000,"type":"array"},"title":{"default":"Scatter Plot","description":"Chart title string, e.g., 'Correlation Study'","maxLength":100,"type":"string"},"x_label":{"default":"X","description":"X-axis label, e.g., 'Variable X'","maxLength":100,"type":"string"},"y_label":{"default":"Y","description":"Y-axis label, e.g., 'Variable Y'","maxLength":100,"type":"string"},"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Point color (name or hex code, e.g., 'blue', '#2E86AB')"},"point_size":{"default":50,"description":"Scatter point size in points^2, e.g., 50","type":"integer"}},"required":["x_data","y_data"],"additionalProperties":false}},{"name":"workspace_load","description":"Load previously saved calculation result from workspace.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"description":"Name of the variable to load from workspace, e.g., 'circle_area'","type":"string"}},"required":["name"],"additionalProperties":false}},{"name":"workspace_save","description":"Save calculation to persistent workspace (survives restarts).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"description":"Variable name for the saved calculation. Used to retrieve it later. Example: 'circle_area'","maxLength":50,"type":"string"},"expression":{"description":"The mathematical expression that was evaluated. Example: 'pi * r**2'","maxLength":500,"type":"string"},"result":{"description":"Numeric result of evaluating the expression, e.g., 78.54","type":"number"}},"required":["name","expression","result"],"additionalProperties":false}}],"scan":{"score":80,"grade":"B","scanned_at":"2026-10-29T18:46:34.681Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-29T18:46:34.624Z","components":{"code":{"score":20,"max":25,"notes":["18 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1625ms"]},"poisoning":{"score":15,"max":15,"notes":["17 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 4 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"math_mcp_learning_server-0.12.5/pyproject.toml: …(common in tests) \"S307\", # Use of eval() - controlled and safe for math calcula…"}],"inputs":{"probes":[{"url":"https://math-mcp.fastmcp.app/mcp","reachable":true,"authRequired":false,"latencyMs":1625,"serverInfo":{"name":"Math Learning Server","version":"4.1.3"}}],"packages":[{"registryType":"pypi","identifier":"math-mcp-learning-server","version":"0.12.5","found":true,"weeklyDownloads":97,"license":"Apache-2.0","dependencyCount":11,"publishedAt":"2026-09-01T01:23:16.725432Z","repositoryUrl":"https://github.com/clouatre-labs/math-mcp-learning-server"}],"repo":{"found":true,"owner":"clouatre-labs","repo":"math-mcp-learning-server","archived":false,"pushedAt":"2026-10-26T05:14:35Z","stars":5,"forks":5,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/241892492?v=4","ownerCreatedAt":"2025-11-04T04:26:10Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/241892492?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":5,"forks":5,"downloadsWeek":97,"license":"NOASSERTION","lastPushAt":"2026-10-26T05:14:35.000Z","score":37}}}},"grade_history":[],"reviews":[]}