Skip to main content

Educational MCP server for math operations, statistics, visualization, and persistent workspaces. Built with FastMCP.

Project description

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:

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
uvx math-mcp-learning-server

# With matrix operations support
uvx --from 'math-mcp-learning-server[scientific]' math-mcp-learning-server

# With visualization support
uvx --from 'math-mcp-learning-server[plotting]' math-mcp-learning-server

# All features
uvx --from 'math-mcp-learning-server[scientific,plotting]' math-mcp-learning-server

Tools

Category Tool Description
Workspace workspace_save Save calculations to persistent storage
workspace_load Retrieve previously saved calculations
Math calc_expression Safely evaluate mathematical expressions
calc_statistics Statistical analysis (mean, median, mode, std_dev, variance)
calc_interest Calculate compound interest for investments
calc_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
plot_histogram Create statistical histograms
plot_line_chart Create line charts
plot_scatter 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://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

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.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

math_mcp_learning_server-0.12.1.tar.gz (60.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

math_mcp_learning_server-0.12.1-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file math_mcp_learning_server-0.12.1.tar.gz.

File metadata

File hashes

Hashes for math_mcp_learning_server-0.12.1.tar.gz
Algorithm Hash digest
SHA256 2eda9c21304ee3a4204dd7c3bf8ef6258c08dfbca4aa545a82239e60c8aa8e9e
MD5 bd5f8df0505ed5735c9514e6a07ea078
BLAKE2b-256 791314c712864532bd78a40a5c6d472aa832fcbf679b511dade5a53f3bdc7117

See more details on using hashes here.

Provenance

The following attestation bundles were made for math_mcp_learning_server-0.12.1.tar.gz:

Publisher: release.yml on clouatre-labs/math-mcp-learning-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file math_mcp_learning_server-0.12.1-py3-none-any.whl.

File metadata

File hashes

Hashes for math_mcp_learning_server-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c786be7fbb32ccf76ae7054f218316e257faacefb61efa2bd1e550322db92d5b
MD5 17d74122cad17f0ec6c54cfed4fbc757
BLAKE2b-256 6a8ffc561a03b42eda19c8be994bbb923137c3bc491bca29ca39ae53936b3702

See more details on using hashes here.

Provenance

The following attestation bundles were made for math_mcp_learning_server-0.12.1-py3-none-any.whl:

Publisher: release.yml on clouatre-labs/math-mcp-learning-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page