DionBenFernandes-Dev/SimpleCalculator-using-MCP-Server---Docker
If you are the rightful owner of SimpleCalculator-using-MCP-Server---Docker and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A demonstration of custom Model Context Protocol (MCP) implementation for arithmetic operations, containerized with Docker for seamless deployment.
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
anduv.lock
- Protocol Security: Basic communication security through container isolation
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:
- Connection: Client establishes connection to MCP server
- 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
- Response Format:
Result:: 3 + 4 = 7
Configuration
Modify environment variables in compose.yaml
to adjust:
- Server port binding
- Logging verbosity
- Protocol timeouts
Development
- Local Setup:
pip install uv # recommended
uv venv
uv add -r requirements.txt
uv run ./src/server.py
- Testing:
uv run .\src\client.py
- 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
Contribution
- Fork the repository
- Create feature branch (
git checkout -b feature/NewOperation
) - Commit changes (
git commit -m 'Add modulo operation'
) - Push to branch (
git push origin feature/NewOperation
) - 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.