Skip to main content
Glama

SageMath MCP Server

License: CC0-1.0 npm

A Model Context Protocol server that exposes SageMath — a 100+ package computer algebra system — to LLM clients such as Claude. Where most "math MCPs" wrap a single library (SymPy, mathjs), this one subprocess-wraps the entire SageMath stack so the model has access to genuine symbolic mathematics, not arithmetic.

Why

LLMs are bad at exact arithmetic, brittle with multi-step algebra, and unreliable when symbolic manipulation matters. The right pattern is to keep the conceptual reasoning in the model and delegate mechanical computation to a tool — the same trick a person with dyscalculia uses with a calculator. SageMath gives you the broadest tool surface for that delegation: factoring, integration, eigenvalues, number theory, LaTeX rendering, and plotting all behind one interface.

Related MCP server: SageMath MCP Server

Tools

Tool

Description

sage_evaluate

Run an arbitrary SageMath expression.

sage_solve_equation

Solve algebraic / transcendental equations symbolically.

sage_differentiate

Compute derivatives (any order, any variable).

sage_integrate

Indefinite and definite integrals.

sage_simplify

Simplify expressions (default, full, trig, rational).

sage_factor

Factor polynomials or integers.

sage_matrix_ops

Determinant, inverse, eigenvalues, rank, RREF, transpose over QQ / RR / ZZ / CC.

sage_plot

Plot an expression and return a base64 PNG.

sage_latex_convert

Convert a SageMath expression to LaTeX.

sage_number_theory

is_prime, next_prime, factor, euler_phi, gcd, lcm, prime_range, sigma, moebius.

All tools follow the same schema pattern (see src/schemas/common.ts).

Installation

The server needs either a local SageMath install or Docker available on the host so it can spawn a SageMath process.

Option 1: npm + local SageMath

npm install -g @justice8096/sagemath-mcp-server
# requires `sage` on PATH — see https://doc.sagemath.org/html/en/installation/
sagemath-mcp

Option 2: Docker (no local SageMath required)

docker compose up
# uses the official sagemath/sagemath image; the server runs inside the container

Option 3: from source

git clone https://github.com/justice8096/sagemath-mcp-server.git
cd sagemath-mcp-server
npm install
npm run build
npm start

Configuring an MCP client

Claude Desktop / Claude Code (stdio transport)

Add to ~/.claude.json (or the equivalent Claude Desktop config):

{
  "mcpServers": {
    "sagemath": {
      "command": "sagemath-mcp"
    }
  }
}

Remote / HTTP transport

TRANSPORT=http API_KEY=your-secret-key npm start

Then point an MCP HTTP client at http://<host>:3000/mcp with the matching API_KEY header.

Architecture

  • TypeScript wrapper, runtime is Node.js ≥ 18.

  • Subprocess wrapping — the wrapper code is CC0; SageMath remains GPL-3.0 and runs as a separate process, which is the canonical safe interaction model per the GNU GPL FAQ on aggregation. Embedding via FFI would propagate copyleft; subprocess execution does not.

  • Dual transport — stdio (Claude Desktop, Claude Code, local MCP clients) and Streamable HTTP (remote deployment, optional API_KEY env var).

  • i18n — English, Spanish, French via src/i18n.ts and locales/.

  • Multi-format buildbuild.ts emits Claude plugin, OpenAI function-calling, n8n node, MCP server descriptor, CLI tool, and YAML prompt-library outputs from the same source manifest.

Configuration

Env var

Default

Purpose

TRANSPORT

stdio

stdio or http.

PORT

3000

HTTP port when TRANSPORT=http.

API_KEY

(none)

If set, HTTP requests must include matching API_KEY header.

SAGE_TIMEOUT

30000

Per-call SageMath timeout in milliseconds.

SAGE_DOCKER_IMAGE

sagemath/sagemath:latest

Image used when SageMath isn't installed locally.

Security

  • All SageMath input is sanitized to strip shell metacharacters before subprocess execution; see src/services/sage-executor.ts.

  • HTTP transport requires API_KEY if set — there is no default credential.

  • See SECURITY.md and THREAT_MODEL.md for the full posture.

  • Pre-commit audit suite under audits/: SAST/DAST scan, supply-chain audit, CWE mapping, LLM-compliance report, contribution analysis.

License

This wrapper is released under CC0-1.0 (public domain). SageMath itself remains GPL-3.0; the subprocess execution model keeps the licenses independent. See SECURITY.md and the project's compliance analysis for the legal reasoning.

Status

v1.0.0 — public release. The wrapper layer is stable; the SageMath surface is feature-rich and stable upstream. File issues at https://github.com/justice8096/sagemath-mcp-server/issues.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    C
    quality
    C
    maintenance
    Exposes a broad mathematics toolkit including symbolic algebra, calculus, numerical methods, linear algebra, statistics, discrete math, graph theory, rendering, and optional GPU acceleration via MCP tools for use with Claude Desktop and other MCP hosts.
    Last updated
    51
    2
  • A
    license
    -
    quality
    D
    maintenance
    Provides a comprehensive set of mathematical functions as MCP tools, enabling language models to perform calculations including arithmetic, trigonometry, logarithms, and more.
    Last updated
    5
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that exposes 8 mathematical tools (arithmetic, algebra, calculus, matrix operations, statistics, probability, unit conversions) to any MCP-compatible AI agent, enabling mathematical computations without code.
    Last updated
    8
    28
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/justice8096/sagemath-mcp-server'

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