Skip to main content
Glama
DionBenFernandes-Dev

SimpleCalculator MCP Server

SimpleCalculator using Model Context Protocol (MCP) Server & Docker

A demonstration of custom Model Context Protocol (MCP) implementation for arithmetic operations, containerized with Docker for seamless deployment.


Features

  • MCP Implementation: Custom protocol handling for mathematical operations

  • Core Operations: Addition, Subtraction, Multiplication, Division

  • Containerized Architecture: Docker-based deployment

  • Dependency Management: Modern Python packaging with pyproject.toml and uv.lock

  • Protocol Security: Basic communication security through container isolation


Related MCP server: Basic Math MCP Server

Project Structure

.
├── src/                # MCP server implementation
├── Dockerfile          # Container build instructions
├── compose.yaml        # Orchestration configuration
├── requirements.txt    # Python dependencies
├── pyproject.toml      # Project metadata
├── uv.lock             # Dependency lock file
├── .gitignore
├── LICENSE.md
└── README.md

Getting Started

Prerequisites

  • Docker

Installation

git clone https://github.com/DionBenFernandes-Dev/SimpleCalculator-using-MCP-Server---Docker.git
cd SimpleCalculator-using-MCP-Server---Docker

Deployment

docker compose up --build

Protocol Implementation

The MCP server handles calculations through a custom protocol implementation. Operations are processed using the following pattern:

  1. Connection: Client establishes connection to MCP server

  2. Request Format:

Available tools:
  - add: Add 2 numbers
  - sub: Subtract 2 numbers
  - mul: Multiply 2 numbers
  - div: Divide 2 numbers

Enter the tool you want to use: add

Enter 1st Number: 3
Enter 2nd Number: 4
  1. Response Format:

Result:: 3 + 4 = 7

Configuration

Modify environment variables in compose.yaml to adjust:

  • Server port binding

  • Logging verbosity

  • Protocol timeouts


Development

  1. Local Setup:

pip install uv # recommended

uv venv

uv add -r requirements.txt

uv run ./src/server.py
  1. Testing:

uv run .\src\client.py
  1. Output:

Available tools:
  - add: Add 2 numbers
  - sub: Subtract 2 numbers
  - mul: Multiply 2 numbers
  - div: Divide 2 numbers

Enter the tool you want to use: add

Enter 1st Number: 3
Enter 2nd Number: 4

Result:: 3 + 4 = 7

License

MIT License - See LICENSE.md


Contribution

  1. Fork the repository

  2. Create feature branch (git checkout -b feature/NewOperation)

  3. Commit changes (git commit -m 'Add modulo operation')

  4. Push to branch (git push origin feature/NewOperation)

  5. Open Pull Request


Maintainer

Dion Ben Fernandes - GitHub Profile


Note: This implementation demonstrates a custom MCP architecture pattern. For production use, consider implementing proper protocol security measures and validation layers.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A simple implementation of a Model Context Protocol server that demonstrates core functionality including mathematical tools (add, subtract) and personalized greeting resources.
    96
    GPL 3.0
  • F
    license
    B
    quality
    D
    maintenance
    A simple server that provides basic mathematical operations (sum and subtraction) through the Model Context Protocol.
    2
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides basic mathematical operations (addition, subtraction, multiplication, division) through a Model Context Protocol server. Enables MCP-compatible clients like chatbots to perform calculations by sending structured math requests.
    -