Calculator MCP Server
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-rubens package published on PyPI.
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
The following MCP protocols are supported:
- Legacy MCP (Version: 2025-06-18) when stateless is true in
config.yaml - Modern MCP (Version: 2026-07-28) when stateless is false in
config.yaml
Non-Supported Features
- Server-sent events (SSE) are not supported for the MCP communication.
- Streaming communication channels, such as HTTP Streamable, are not supported. In other words, the MCP server is expected to generate the entire output before sending it.
Non-supported JSON-RPC methods:
- Resources Methods:
resources/list,resources/read - Prompts Methods:
prompts/list,prompts/get - Logging & Progress Utilities
- Server-to-Client calls are not supported
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
- Install in
pipdefault installation folder
pip install calculator-mcp-rubens
- Install in the Python user install directory
pip --no-cache-dir install -U --user calculator-mcp-rubens
- Confirm the installed version matches the latest GitHub release at calculator-mcp/releases
calculator-mcp --version
pip show calculator-mcp-rubens
Uninstall
- Uninstall as follows
pip uninstall calculator-mcp-rubens
pip cache purge
Configuration
- Copy the file
config.yaml
to
${HOME}/cfg/calculator-mcp/config.yaml.
export CALCULATOR_MCP_CONFIG="${HOME}/cfg/calculator-mcp/config.yaml"
Usage
- Simply run
calculator-mcp
- Health check
curl -v http://localhost:8080/health
# Expect: OK
- To stop, go to the running terminal and press
Ctrl+C
License
The project is licensed under MIT License.
Links
- GitHub Project
- Azure CLI Commands
- Azure Container App Provisioning
- Development Setup
- Docker
- Integration Test
- MCP
- Miscellaneous
- OAuth Diagram
- PyCharm
- Release Process
Author: Rubens Gomes
Metadata
Release files for calculator-mcp-rubens 0.0.31
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| calculator_mcp_rubens-0.0.31.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| calculator_mcp_rubens-0.0.31-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.5 kB
Release files / calculator_mcp_rubens-0.0.31.tar.gz
| Download URL | calculator_mcp_rubens-0.0.31.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62774af662c18822f3b956ac85551e696510d990efb663a506a338ecd17825dd
|
|
BLAKE2b-256 checksum How to use checksums |
a1e668af878bc5421d8efcdd139e7f1cf30fd6ef8f7feedba46d37f6ee65c510
|
| 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.31-py3-none-any.whl
| Download URL | calculator_mcp_rubens-0.0.31-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
efda466b21b68da59821bb9606c324ba310932ec7c88c31694712251be56ebe4
|
|
BLAKE2b-256 checksum How to use checksums |
95eb4d5a19a6d8781ada53b4a56de7d72d857dea508843f805de1b2c175c921e
|
| 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
|