clouatre-labs

Math MCP Learning Server

Community clouatre-labs
Updated

Educational MCP server with math operations, matrix algebra, data visualization, and persistent workspace using FastMCP 2.0

Math MCP Learning Server

PyPI versionPythonLicense: MITCIRuff

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

Available on:

Requirements

Requires an MCP client:

  • Claude Desktop - Anthropic's desktop app
  • Claude Code - Command-line MCP client
  • Goose - Open-source AI agent framework
  • OpenCode - Open-source MCP client by SST
  • Kiro - AWS's AI assistant
  • Gemini CLI - Google's command-line tool
  • Any MCP-compatible client

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

Automatic with uvx (recommended):

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

Manual installation:

# Basic installation
uv pip install math-mcp-learning-server

# With matrix operations support
uv pip install math-mcp-learning-server[scientific]

# With visualization support
uv pip install math-mcp-learning-server[plotting]

# All features
uv pip install math-mcp-learning-server[scientific,plotting]

Tools

Category Tool Description
Workspace save_calculation Save calculations to persistent storage
load_variable Retrieve previously saved calculations
Math calculate Safely evaluate mathematical expressions
statistics Statistical analysis (mean, median, mode, std_dev, variance)
compound_interest Calculate compound interest for investments
convert_units Convert between units (length, weight, temperature)
Matrix matrix_multiply Multiply two matrices
matrix_transpose Transpose a matrix
matrix_determinant Calculate matrix determinant
matrix_inverse Calculate matrix inverse
matrix_eigenvalues Calculate eigenvalues
Visualization plot_function Plot mathematical functions
create_histogram Create statistical histograms
plot_line_chart Create line charts
plot_scatter_chart Create scatter plots
plot_box_plot Create box plots
plot_financial_line Create 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://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

# Clone and setup
git clone https://github.com/clouatre-labs/math-mcp-learning-server.git
cd math-mcp-learning-server
uv sync --extra dev --extra plotting

# Test server locally
uv run fastmcp dev src/math_mcp/server.py

Testing

# Run all tests
uv run pytest tests/ -v

# Run with coverage
uv run pytest tests/ --cov=src --cov-report=html --cov-report=term

# Run specific test category
uv run pytest tests/test_matrix_operations.py -v

Test Suite: 154 tests across 6 categories (Agent Card, HTTP Integration, Math, Matrix, Persistence, Visualization)

Code Quality

# Linting
uv run ruff check

# Formatting
uv run ruff format --check

# Security checks
uv run ruff check --select S

Security

The calculate 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.

Links

MCP Server · Populars

MCP Server · New