precision-math-mcp
Provides LLMs with accurate mathematical computation through a real calculator powered by math.js, offering tools for arithmetic, algebra, calculus, unit conversion, and more.
README
precision-math-mcp
LLMs can't do math. They predict tokens, not compute answers. Ask an LLM to multiply large numbers or solve equations, and you might get confident-sounding wrong answers.
This MCP server fixes that by giving your LLM a real calculator. It's powered by math.js, a battle-tested math library with 14k+ GitHub stars, handling everything from basic arithmetic to symbolic calculus.
All expressions use math.js syntax - see math.js documentation for full expression reference.
Features
-
6 Mathematical Tools:
calculate- Evaluate mathematical expressionssimplify- Simplify algebraic expressionsderivative- Compute symbolic derivativessolve- Solve equations for variablesformat- Format numbers with precision/notationconvert- Convert between units
-
3 Transport Modes:
stdio- Standard I/O (default, for Claude Desktop)http- Streamable HTTP transportsse- Server-Sent Events (backwards compatibility)
Quick Start
Run directly without installing (requires Bun, npm, yarn, or pnpm):
# Using bunx (recommended)
bunx -y @nerdo/precision-math-mcp
# Using npx
npx -y @nerdo/precision-math-mcp
# Using yarn
yarn dlx @nerdo/precision-math-mcp
# Using pnpm
pnpm dlx @nerdo/precision-math-mcp
Installation
Global Install
# Using bun
bun add -g @nerdo/precision-math-mcp
# Using npm
npm install -g @nerdo/precision-math-mcp
# Using yarn
yarn global add @nerdo/precision-math-mcp
# Using pnpm
pnpm add -g @nerdo/precision-math-mcp
Then run with:
precision-math-mcp
Local Development
git clone https://github.com/nerdo/precision-math-mcp
cd precision-math-mcp
bun install
bun run src/index.ts
Usage
Transport Modes
# Stdio mode (default)
bunx -y @nerdo/precision-math-mcp --stdio
# HTTP mode
PORT=3141 bunx -y @nerdo/precision-math-mcp --http
# HTTP mode with authentication
PORT=3141 MCP_AUTH_TOKEN=your-secret bunx -y @nerdo/precision-math-mcp --http
Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT |
3141 | HTTP server port |
MCP_AUTH_TOKEN |
(none) | Optional auth token for HTTP |
MCP_TRANSPORT |
stdio | Transport mode: stdio, http, sse |
DESCRIPTION_MODE |
mandatory | Tool description mode: mandatory (AI must use for all math) or relaxed (optional use) |
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"precision-math": {
"command": "bunx",
"args": ["-y", "@nerdo/precision-math-mcp"]
}
}
}
Or using npx:
{
"mcpServers": {
"precision-math": {
"command": "npx",
"args": ["-y", "@nerdo/precision-math-mcp"]
}
}
}
Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"precision-math": {
"command": "bunx",
"args": ["-y", "@nerdo/precision-math-mcp"]
}
}
}
Tool Examples
calculate
Evaluate mathematical expressions with optional variables.
{
"name": "calculate",
"arguments": {
"expression": "sqrt(a^2 + b^2)",
"scope": { "a": 3, "b": 4 }
}
}
// Returns: { "result": "5", "type": "number" }
Supports:
- Basic arithmetic:
2 + 2 * 3→8 - Functions:
sin(pi/4),log(100),factorial(5) - Complex numbers:
sqrt(-1)→i - Matrices:
[[1,2],[3,4]] * [[1,0],[0,1]] - Units:
2 inch to cm→5.08 cm
simplify
Simplify algebraic expressions.
{
"name": "simplify",
"arguments": {
"expression": "2x + 3x - x"
}
}
// Returns: { "result": "4 * x" }
derivative
Compute symbolic derivatives.
{
"name": "derivative",
"arguments": {
"expression": "x^3 + 2*x",
"variable": "x"
}
}
// Returns: { "result": "3 * x ^ 2 + 2", "simplified": "3 * x ^ 2 + 2" }
solve
Solve equations for a variable.
{
"name": "solve",
"arguments": {
"equation": "x^2 - 4 = 0",
"variable": "x"
}
}
// Returns: { "solutions": ["2", "-2"], "type": "exact" }
format
Format numbers with specific precision or notation.
{
"name": "format",
"arguments": {
"value": "pi",
"precision": 4
}
}
// Returns: { "result": "3.142" }
convert
Convert between units.
{
"name": "convert",
"arguments": {
"value": "100 km/h",
"toUnit": "m/s"
}
}
// Returns: { "result": "27.77777777777778 m / s", "numericValue": 27.77777777777778 }
Testing
# Run all tests
bun test
# Run specific test file
bun test tests/tools/calculate.test.ts
Testing with MCP Inspector
npx @modelcontextprotocol/inspector bun run src/index.ts
Opens the MCP Inspector at http://localhost:6274 where you can:
- View all available tools
- Invoke tools with custom arguments
- See JSON-RPC communication logs
Development
# Type check
bunx tsc --noEmit
# Run in watch mode
bun --watch run src/index.ts
License
MIT
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.