Skip to main content
Glama

MCP Calculate Server

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.

Related MCP server: Calculator MCP

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

  1. Clone repository:

    git clone https://github.com/611711Dark/mcp_calculate_server.git
    cd mcp_calculate_server
  2. Create virtual environment and install dependencies:

    uv venv
    source .venv/bin/activate
    uv pip install -e .
  3. 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, and k

  • 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 as Sum(...)

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.

中文版本

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
1hResponse time
Release cycle
Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/611711Dark/mcp_calculate_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server