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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。