Math MCP Learning

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

OtherPythonv0.12.5

math-mcp-learning-server

PyPI Python License REUSE OpenSSF Best Practices

Educational MCP server with 17 tools, persistent workspace, and cloud hosting. Built with FastMCP and the official Model Context Protocol Python SDK.

Available on the MCP Registry (io.github.clouatre-labs/math-mcp-learning-server) and PyPI.

Demo

math-mcp Demo

See CONTRIBUTING.md for instructions to record your own demo.

Quick Start

Cloud (No Installation)

Connect your MCP client to the hosted server:

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "math-cloud": {
      "transport": "http",
      "url": "https://math-mcp.fastmcp.app/mcp"
    }
  }
}

Local Installation

{
  "mcpServers": {
    "math": {
      "command": "uvx",
      "args": ["math-mcp-learning-server[scientific,plotting]"]
    }
  }
}

For other installation options (basic, scientific-only, plotting-only), see CONTRIBUTING.md.

Tools

CategoryToolDescription
Workspaceworkspace_saveSave calculations to persistent storage
workspace_loadRetrieve previously saved calculations
Mathcalc_expressionSafely evaluate mathematical expressions
calc_statisticsStatistical analysis (mean, median, mode, std_dev, variance)
calc_interestCalculate compound interest for investments
calc_unitsConvert between units (length, weight, temperature)
Matrixmatrix_multiplyMultiply two matrices
matrix_transposeTranspose a matrix
matrix_determinantCalculate matrix determinant
matrix_inverseCalculate matrix inverse
matrix_eigenvaluesCalculate eigenvalues
Visualizationplot_functionPlot mathematical functions
plot_histogramCreate statistical histograms
plot_line_chartCreate line charts
plot_scatterCreate scatter plots
plot_box_plotCreate box plots
plot_financial_lineCreate financial line charts

Resources

  • math://workspace - Persistent calculation workspace summary
  • math://history - Chronological calculation history
  • math://functions - Available mathematical functions reference
  • math://constants/{constant} - Mathematical constants (pi, e, golden_ratio, etc.)
  • math://catalog/tools - Tool catalog with metadata and usage examples
  • math://variables - Active variables in the current workspace
  • math://test - Server health check

Prompts

  • math_tutor - Structured tutoring prompts (configurable difficulty)
  • formula_explainer - Formula explanation with step-by-step breakdowns

See Usage Examples for detailed examples.

Development

See CONTRIBUTING.md for development setup, testing, and contribution guidelines.

Security

  • OpenSSF Best Practices Silver - Fewer than 1% of open source projects reach this level
  • REUSE/SPDX - License compliance for all files
  • Signed Commits - GPG-signed commits required
  • Dependency Scanning - Automated updates via Renovate
  • pip-audit CVE Scanning - Automated dependency vulnerability checks
  • gitleaks Secret Scanning - Detects secrets in code and history
  • zizmor GitHub Actions Security - Workflow security scanning
  • commitlint Enforcement - Conventional commit validation in CI
  • OpenSSF Scorecard - Continuous open source security assessment
calc_expression safety

The calc_expression tool uses restricted eval() with a whitelist of allowed characters and functions, restricted global scope (only math module and abs), and no access to dangerous built-ins or imports. All tool inputs are validated with Pydantic models. File operations are restricted to the designated workspace directory. Complete type hints and validation are enforced for all operations.

Documentation

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx math-mcp-learning-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-clouatre-labs-math-mcp-learning-server": {
      "command": "uvx",
      "args": [
        "math-mcp-learning-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

math-mcp-learning-serverpypi

Compatible MCP Clients

Math MCP Learning works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More