precision-math-mcp

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.

Category
Visit Server

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 expressions
    • simplify - Simplify algebraic expressions
    • derivative - Compute symbolic derivatives
    • solve - Solve equations for variables
    • format - Format numbers with precision/notation
    • convert - Convert between units
  • 3 Transport Modes:

    • stdio - Standard I/O (default, for Claude Desktop)
    • http - Streamable HTTP transport
    • sse - 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 * 38
  • 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 cm5.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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured