Skip to main content

math-logic-mcp

MCP server that gives small LLMs verified symbolic-math & logic tools.

License

Small language models (Mistral, Llama, Phi, Gemma) struggle with multi-step math and formal logic. Instead of fine-tuning, give them tools. This project exposes a set of verified math and logic solvers via the Model Context Protocol (MCP), so any MCP-compatible LLM can call them as functions.

Features

Tool What it does Backend
verify_arithmetic Safe arithmetic evaluation Python stdlib (zero deps)
solve_equation Symbolic equation solving SymPy (optional)
simplify_expression Simplify / factor / expand SymPy (optional)
compute_derivative Differentiation SymPy (optional)
compute_integral Integration SymPy (optional)
check_logic SAT / tautology / truth tables Z3 (optional)

Every result includes proof steps and verification — the LLM gets a machine-checked answer, not a guess.

Quick Start

Install (minimal — arithmetic only)

pip install -e .

Install (full — all solvers)

pip install -e ".[full]"

Run the MCP server

# stdio transport (for Claude Desktop, Cursor, etc.)
math-logic-mcp

# HTTP/SSE transport (for remote clients)
math-logic-mcp --http

Configure in Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "math-logic": {
      "command": "math-logic-mcp"
    }
  }
}

Configure in Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "math-logic": {
      "command": "math-logic-mcp"
    }
  }
}

Use as a Python Library

from math_logic import MathLogicEngine

engine = MathLogicEngine()

# Arithmetic (always available)
result = engine.solve("compute 2 + 3 * 4")
print(result.solutions)  # ['14']

# Algebra (requires sympy)
result = engine.solve("Solve x^2 - 4 = 0")
print(result.solutions)  # ['x = -2', 'x = 2']

# Logic (requires z3-solver)
result = engine.solve('Check satisfiability of "p and q"')
print(result.solutions)  # ['Satisfiable: p=True, q=True']

Architecture

LLM ─── MCP Protocol ──▶ mcp_server.py
                              │
                          engine.py  (router → solver → result)
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
     ArithmeticSolver   SymPySolver      Z3Solver
      (zero deps)       (pip: sympy)    (pip: z3-solver)

The router classifies each problem by regex patterns and routes to the best available solver. Solvers are loaded lazily — if SymPy isn't installed, algebra problems gracefully report the missing dependency.

Installation Extras

Extra What it adds Install size
(none) Arithmetic only ~1 MB
[sympy] + algebra, calculus, simplification ~50 MB
[z3] + propositional logic, SAT ~30 MB
[full] Everything ~80 MB
[dev] + pytest, ruff ~85 MB
pip install -e ".[sympy]"     # algebra + calculus
pip install -e ".[z3]"        # logic
pip install -e ".[full]"      # everything
pip install -e ".[full,dev]"  # everything + dev tools

Development

git clone https://github.com/user/math-logic-mcp.git
cd math-logic-mcp
pip install -e ".[full,dev]"
pytest tests/ -v

Docker

docker build -t math-logic-mcp .
docker run -p 8080:8080 math-logic-mcp

License

Apache 2.0 — see LICENSE.

Metadata

Release files for math-logic-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for math-logic-mcp 0.2.0
File Size Uploaded
math_logic_mcp-0.2.0.tar.gz 22.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for math-logic-mcp 0.2.0
File Interpreter ABI Platform
math_logic_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.4 kB

Release files / math_logic_mcp-0.2.0.tar.gz

Download URL math_logic_mcp-0.2.0.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d3e1c2f6c69d9aa50f677dfbf07177c3b0283a5aeac913b6efc74e2844109af0
BLAKE2b-256 checksum
How to use checksums
05087f31769f4ac81e741427fbb3dd4b8b51d50c306ab598d295c5b1dfc398ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / math_logic_mcp-0.2.0-py3-none-any.whl

Download URL math_logic_mcp-0.2.0-py3-none-any.whl
Size 22.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa0abcb072de7a45bfe5fc6c5109be8a25e006ac20d93531e1b25b87c0b47c83
BLAKE2b-256 checksum
How to use checksums
50d51d5644b8f3a9b8fd5434a471d762bd37311f681da5a1c18d609f1286e9a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page