symath
High-precision mathematics server for MCP clients, providing exact integer arithmetic, symbolic derivatives, and numerical calculus via LaTeX-style input.
README
SyMath MCP
SyMath MCP is a high-precision mathematics server for MCP clients. It gives LLMs a reliable calculator layer for exact integer work, configurable decimal precision, symbolic derivatives and simplification, numerical calculus, statistics, number theory, and common LaTeX-style math input.
Features
- High-precision expression evaluation powered by
mathjsBigNumber mode. - Common LaTeX normalization, including
\frac{},\sqrt{}, trig/log functions,\pi,\cdot, and braced powers. - Dedicated tools for arithmetic, statistics, number theory, and calculus.
- Symbolic derivative and simplification support.
- Exact integer algorithms using
BigIntfor gcd, lcm, prime checks, factorization, modular exponentiation, and modular inverse. - Structured errors for edge cases such as division by zero, invalid domains, malformed LaTeX, and non-integer number theory input.
- Official MCP transports:
stdiofor local desktop clients.- Streamable HTTP at
/mcpfor remote or local HTTP clients. - Legacy HTTP+SSE for older clients that have not migrated yet.
Install
npm install
After npm publication, users can run it without cloning:
npx symath-mcp
Run Locally
stdio
Use this for Claude Desktop and other local MCP clients that launch a command.
npm start
Equivalent direct command:
node /Users/fengling/AiProjects/symath/src/stdio.js
Streamable HTTP
Use this for clients that connect to an MCP URL.
npm run start:http
Defaults:
- URL:
http://127.0.0.1:3000/mcp - Health check:
http://127.0.0.1:3000/health
Configuration:
HOST=0.0.0.0 PORT=3000 MCP_PATH=/mcp npm run start:http
Legacy SSE
SSE is deprecated by the MCP SDK, but some older clients still support it.
npm run start:sse
Defaults:
- SSE endpoint:
http://127.0.0.1:3000/mcp - Messages endpoint:
http://127.0.0.1:3000/messages
Configuration:
HOST=0.0.0.0 PORT=3000 SSE_PATH=/mcp MESSAGES_PATH=/messages npm run start:sse
Client Configuration
Claude Desktop, local clone
Add this to Claude Desktop's MCP configuration and restart Claude Desktop:
{
"mcpServers": {
"symath": {
"command": "node",
"args": ["/Users/fengling/AiProjects/symath/src/stdio.js"]
}
}
}
Claude Desktop, after npm publication
{
"mcpServers": {
"symath": {
"command": "npx",
"args": ["-y", "symath-mcp"]
}
}
}
MCP clients with Streamable HTTP support
Start the HTTP server:
npm run start:http
Then configure the client URL:
http://127.0.0.1:3000/mcp
For a remote deployment, replace the URL with your public HTTPS endpoint, for example:
https://your-domain.example/mcp
Older SSE clients
Start the SSE server:
npm run start:sse
Configure:
SSE URL: http://127.0.0.1:3000/mcp
Messages URL: http://127.0.0.1:3000/messages
Publish
GitHub
git add .
git commit -m "Support all MCP transports"
git push
npm
Log in once:
npm login
Publish:
npm publish --access public
Package binaries:
symath-mcp: stdio server.symath-mcp-http: Streamable HTTP server.symath-mcp-sse: legacy SSE server.
Tools
calculate: Evaluate a math expression or common LaTeX expression at configurable precision.arithmetic: Run basic arithmetic operations with explicit operands.statistics: Compute descriptive statistics over numeric data.number_theory: Run exact integer operations such as gcd, lcm, primality, factorization, modular exponentiation, modular inverse, and Euler totient.calculus: Differentiate symbolically, simplify symbolically, or compute a definite integral numerically.latex_to_expression: Convert supported LaTeX math syntax to amathjsexpression.
Examples
{
"expression": "\\frac{1}{3} + \\sqrt{2}",
"precision": 80
}
{
"operation": "modPow",
"values": ["7", "560", "561"]
}
{
"operation": "derivative",
"expression": "sin(x)^2 + x^3",
"variable": "x"
}
Test
npm test
node --check src/server.js
node --check src/stdio.js
node --check src/http.js
node --check src/sse.js
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.