About
MCP Calculate Server
README
A mathematical calculation service based on MCP protocol and SymPy library, providing powerful symbolic computation capabilities.
Security
As of version 0.1.1, the server parses expressions through a restricted SymPy-only evaluator. It does not execute arbitrary Python code, and only a curated set of mathematical symbols, functions, and matrix methods are supported.
This release also adds validation for oversized expressions and large results to reduce denial-of-service risk from expensive symbolic computations.
Key Features
- Basic Operations: Addition, subtraction, multiplication, division, exponentiation
- Algebraic Operations: Expression expansion, factorization, simplification
- Calculus: Differentiation, integration (definite/indefinite), limit calculation
- Equation Solving: Algebraic equations, systems of equations
- Matrix Operations: Matrix inversion, eigenvalues/eigenvectors calculation
- Series Expansion: Taylor series expansion
- Special Functions: Trigonometric, logarithmic, exponential functions
Usage Examples
# Basic operations
"2 + 3*5" → 17
# Algebraic operations
"expand((x + 1)**2)" → x² + 2x + 1
"factor(x**2 - 2*x - 15)" → (x - 5)(x + 3)
# Calculus
"diff(sin(x), x)" → cos(x)
"integrate(exp(x), (x, 0, 1))" → E - 1
"integrate(exp(-x**2)*sin(x), (x, -oo, oo))" → 0
"limit(tan(x)/x, x, 0)" → 1
# Equation solving
"solve(x**2 - 4, x)" → [-2, 2]
"solve([x**2 + y**2 - 1, x + y - 1], [x, y])" → [(0, 1), (1, 0)]
# Matrix operations
"Matrix([[1, 2], [3, 4]]).inv()" → [[-2, 1], [3/2, -1/2]]
"Matrix([[1, 2, 3], [4, 5, 6]]).eigenvals()" → {9/2 - sqrt(33)/2: 1, 9/2 + sqrt(33)/2: 1}
"Sum(k, (k, 1, 10)).doit()" → 55
"series(cos(x), x, 0, 4)" → 1 - x²/2 + O(x⁴)
Installation
Installing via Smithery
To install Calculate Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @611711Dark/mcp_sympy_calculate_server --client claude
Local Installation
Clone repository:
git clone https://github.com/611711Dark/mcp_calculate_server.git cd mcp_calculate_serverCreate virtual environment and install dependencies:
uv venv source .venv/bin/activate uv pip install -e .Configuration:
"calculate_expression1": { "isActive": false, "command": "python", "args": [ "server.py" ], "cwd": "/path/to/mcp_calculate_server" }
API Usage
Call calculate_expression tool via MCP protocol by passing a mathematical expression string. The parser accepts a restricted set of SymPy expressions such as arithmetic, expand, factor, simplify, diff, integrate, limit, series, solve, Matrix(...).det()/inv()/eigenvals()/eigenvects(), and Sum(...).doit().
Supported Names
- Symbols: lowercase variables such as
x,y,z, andk - Constants:
pi,E,oo,I - Functions:
Abs,sin,cos,tan,log,exp,sqrt,expand,factor,simplify,diff,integrate,limit,series,solve,Sum,Matrix - Matrix methods:
.det(),.inv(),.eigenvals(),.eigenvects() - SymPy method:
.doit()on supported objects such asSum(...)
Validation Rules
Expressions that rely on arbitrary Python features, imports, filesystem access, or other non-mathematical constructs are intentionally rejected. Very large expansions, high-complexity solves, and oversized results may also be rejected to reduce denial-of-service risk. Keyword arguments, private attributes, unsupported matrix methods, malformed matrices, and unsupported names are rejected with an error message.
Dependencies
- mcp>=1.5.0
- sympy>=1.13.3
Acknowledgements
Thanks to this blog post for the introduction, and to Stefano for his help and responsible disclosure.
License
This project is licensed under MIT License. See LICENSE file.
Installing Calculate Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/611711Dark/mcp_calculate_serverFAQ
Is Calculate Server MCP free?
Yes, Calculate Server MCP is free — one-click install via Unyly at no cost.
Does Calculate Server need an API key?
No, Calculate Server runs without API keys or environment variables.
Is Calculate Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Calculate Server in Claude Desktop, Claude Code or Cursor?
Open Calculate Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Calculate Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
