mcpField
M
MCP Calculate Server

MCP Calculate Server

Local
github.com/611711DarkScience & Education6Updated 27w ago

About MCP Calculate Server

MCP server for mathematical calculations with SymPy, covering symbolic algebra, calculus, equations, and matrices. Its restricted evaluator rejects arbitrary Python and validates costly expressions and results.

Key features

  1. 01Arithmetic and symbolic algebra
  2. 02Differentiation, integration, and limits
  3. 03Equation and system solving
  4. 04Matrix operations and eigenvalues
  5. 05Taylor series expansion
  6. 06Restricted expression evaluation

Use cases

  1. 01Simplify or factor symbolic expressions
  2. 02Compute derivatives, integrals, or limits
  3. 03Solve equations and systems
  4. 04Inspect matrix inverses or eigenvalues

MCP support

Exposes a `calculate_expression` tool to MCP clients for evaluating supported SymPy expressions. The evaluator limits accepted names and operations and may reject oversized or high-complexity calculations.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Calculate Server

smithery badge

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
  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.

中文版本

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.