Math MCP Learning Server
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:
- Official MCP Registry -
io.github.clouatre-labs/math-mcp-learning-server - PyPI -
math-mcp-learning-server
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 summarymath://history- Chronological calculation historymath://functions- Available mathematical functions referencemath://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.