A modern Model Context Protocol server for mathematical calculations. Exposes 13 tools (6 core + 7 specialized) with high-precision arithmetic, a safe expression evaluator, statistics, unit conversion, and financial math.
- Python 3.10+
- uv (or Docker, for the containerized setup)
uv venv
uv pip install -e ".[dev]"The server supports two transports, selected via the MCP_TRANSPORT environment variable (see Configuration).
The server speaks MCP over stdio by default (the transport used by most MCP clients such as Claude Desktop and Claude Code):
source .venv/bin/activate
mcp-calculatorTo serve over streamable HTTP instead:
source .venv/bin/activate
MCP_TRANSPORT=http mcp-calculatorThe HTTP endpoint is then available at http://0.0.0.0:8080/mcp/.
Build the image and run it in HTTP mode (the image defaults to HTTP on port 8080):
docker build -t mcp-calculator .
docker run --rm -p 8080:8080 mcp-calculatorOverride any setting at runtime with -e, e.g. a different port:
docker run --rm -p 9000:9000 -e MCP_PORT=9000 mcp-calculator| Variable | Default | Description |
|---|---|---|
MCP_TRANSPORT |
stdio |
Transport to use: stdio or http (streamable HTTP). |
MCP_HOST |
0.0.0.0 |
Host/interface to bind when using HTTP. Use 0.0.0.0 to expose it. |
MCP_PORT |
8080 |
Port to listen on when using HTTP. |
| Tool | Description |
|---|---|
basic_math |
add / subtract / multiply / divide with decimal precision (0-15) |
advanced_math |
trig, inverse trig, log/ln, sqrt, abs, factorial, exp, pow |
expression_eval |
evaluate expressions with variables, constants, and functions |
statistics_analysis |
mean, median, mode, std_dev, variance, percentile, range, skewness, kurtosis, summary |
unit_conversion |
length, weight, temperature, volume, area |
financial_calc |
simple/compound interest, loan payment, ROI, present/future value |
| Tool | Description |
|---|---|
stats_summary |
full statistical overview of a dataset |
percentile |
a specific percentile (0-100) of a dataset |
batch_conversion |
convert many values between units at once |
npv |
Net Present Value of cash flows |
irr |
Internal Rate of Return (Newton-Raphson) |
loan_comparison |
compare loans, return the lowest monthly payment |
investment_scenarios |
compare investments, return the highest return |
Run the test suite with:
pytest