Educational MCP server for math operations, statistics, visualization, and persistent workspaces. Built with FastMCP.
Project description
math-mcp-learning-server
Educational MCP server with 17 tools, persistent workspace, and cloud hosting. Built with FastMCP 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
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 summarymath://history- Chronological calculation historymath://functions- Available mathematical functions referencemath://constants/{constant}- Mathematical constants (pi, e, golden_ratio, etc.)math://catalog/tools- Tool catalog with metadata and usage examplesmath://variables- Active variables in the current workspacemath://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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file math_mcp_learning_server-0.12.1.tar.gz.
File metadata
- Download URL: math_mcp_learning_server-0.12.1.tar.gz
- Upload date:
- Size: 60.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eda9c21304ee3a4204dd7c3bf8ef6258c08dfbca4aa545a82239e60c8aa8e9e
|
|
| MD5 |
bd5f8df0505ed5735c9514e6a07ea078
|
|
| BLAKE2b-256 |
791314c712864532bd78a40a5c6d472aa832fcbf679b511dade5a53f3bdc7117
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
math_mcp_learning_server-0.12.1.tar.gz -
Subject digest:
2eda9c21304ee3a4204dd7c3bf8ef6258c08dfbca4aa545a82239e60c8aa8e9e - Sigstore transparency entry: 1219073300
- Sigstore integration time:
-
Permalink:
clouatre-labs/math-mcp-learning-server@f2be44d2c8cf16d5d1b4bdd9d876a4884aadd4e2 -
Branch / Tag:
refs/tags/v0.12.1 - Owner: https://github.com/clouatre-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f2be44d2c8cf16d5d1b4bdd9d876a4884aadd4e2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file math_mcp_learning_server-0.12.1-py3-none-any.whl.
File metadata
- Download URL: math_mcp_learning_server-0.12.1-py3-none-any.whl
- Upload date:
- Size: 42.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c786be7fbb32ccf76ae7054f218316e257faacefb61efa2bd1e550322db92d5b
|
|
| MD5 |
17d74122cad17f0ec6c54cfed4fbc757
|
|
| BLAKE2b-256 |
6a8ffc561a03b42eda19c8be994bbb923137c3bc491bca29ca39ae53936b3702
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
math_mcp_learning_server-0.12.1-py3-none-any.whl -
Subject digest:
c786be7fbb32ccf76ae7054f218316e257faacefb61efa2bd1e550322db92d5b - Sigstore transparency entry: 1219073312
- Sigstore integration time:
-
Permalink:
clouatre-labs/math-mcp-learning-server@f2be44d2c8cf16d5d1b4bdd9d876a4884aadd4e2 -
Branch / Tag:
refs/tags/v0.12.1 - Owner: https://github.com/clouatre-labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f2be44d2c8cf16d5d1b4bdd9d876a4884aadd4e2 -
Trigger Event:
push
-
Statement type: