Skip to main content

Calculator MCP Server

python poetry FastMCP GitHub Microsoft AI license

calculator-mcp is an MCP (Model Context Protocol) server that exposes 16 arithmetic operations as callable tools for use by LLMs within agentic applications. It contains no mathematical logic of its own. Instead, each tool is a thin synchronous wrapper that logs its arguments and delegates execution to the open-source calculator-lib package published on PyPI as calculator-lib-rubens.


Features

16 calculator functions exposed through an MCP server for consumption by AI agentic programs:

  • Two-operand operations: add, subtract, multiply, divide, power, nth_root, modulo, floor_divide
  • Single-operand operations: sqrt, absolute, floor, ceil, log10, ln, exp
  • Rounding: round_number (with configurable decimal places)

The following are the supported MCP JSON-RPC 2.0 methods:

  • Lifecycle Methods: initialize, notifications/initialized
  • Tools Methods: tools/list, tools/call
  • Resources Methods: resources/list, resources/templates/list, resources/read
  • Prompts Methods: prompts/list, prompts/get

The following MCP protocols are supported, selected by the client per request:

  • Legacy MCP (Version: 2025-06-18): initialize handshake and Mcp-Session-Id session
  • Modern MCP (Version: 2026-07-28): no handshake or session

Unsupported Features

Unsupported JSON-RPC methods:

  • Logging & Progress Utilities (e.g. notifications/progress)
  • Server-to-Client calls (e.g. sampling/createMessage, elicitation/create, roots/list)

AI Disclaimer

This project includes code and documentation created with the assistance of AI tools. For details on usage, limits, and review practices, please see the AI Disclaimer.

Prerequisites

  • Python 3.14+
  • pip

Installation

  1. Install using pip
pip install calculator-mcp-rubens
  1. Confirm the installed version matches the latest GitHub release at calculator-mcp/releases
calculator-mcp --version
pip show calculator-mcp-rubens

Uninstall

pip uninstall calculator-mcp-rubens
pip cache purge

Configuration

  • Copy the file config.yaml to ${HOME}/cfg/calculator-mcp/config.yaml.
export CALCULATORMCP_CONFIG="${HOME}/cfg/calculator-mcp/config.yaml"

Usage

  1. Run
calculator-mcp
  1. Health check
curl -v http://localhost:8080/health
# Expect: OK
  1. To stop, press Ctrl+C in the running terminal

Open Source Project Information

This project is open source and publicly hosted on GitHub at Math AI Agent. It is published under an OSI-approved open-source license.

Note: Public availability and the use of an OSI-approved license are requirements for eligibility to use https://sonarcloud.io/login under its free plan for open-source projects.

License

The project is licensed under the MIT License.


Author: Rubens Gomes

Metadata

Release files for calculator-mcp-rubens 0.0.43

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for calculator-mcp-rubens 0.0.43
File Size Uploaded
calculator_mcp_rubens-0.0.43.tar.gz 12.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for calculator-mcp-rubens 0.0.43
File Interpreter ABI Platform
calculator_mcp_rubens-0.0.43-py3-none-any.whl Python 3 none any Details

Total release size: 32.2 kB

Release files / calculator_mcp_rubens-0.0.43.tar.gz

Download URL calculator_mcp_rubens-0.0.43.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ffa7d088fa444f9d82ee346552754d52621733a19e435fe8961229955ad659a8
BLAKE2b-256 checksum
How to use checksums
a11ea673393c1185dbc7e9eab7d61a822bf03867c183a755a6fffcd3ac26e10a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.3 CPython/3.14.7 Linux/6.17.0-1022-azure

Release files / calculator_mcp_rubens-0.0.43-py3-none-any.whl

Download URL calculator_mcp_rubens-0.0.43-py3-none-any.whl
Size 19.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5ff9a75724fa8f95b90745ab60ab6404dc5aa2338c250f9c53fa65d0e71865c
BLAKE2b-256 checksum
How to use checksums
ae1871d7697ca372d5640e9f476fb4fc342ad1b26580543dfe4497186daa7bfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.3 CPython/3.14.7 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.49

2 release files

This release

0.0.43 This release

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page