Skip to main content
Glama
arulrajnet

MCP Calculator

by arulrajnet

MCP Calculator

A Model Context Protocol (MCP) server example with calculator tools, built using FastMCP.

Setup and Installation

Prerequisites

  • Python 3.8 or higher

  • pip package manager

1. Clone the Repository

git clone https://github.com/arulrajnet/mcp-calculator.git
cd mcp-calculator
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

3. Install Dependencies

# Install the package in development mode
pip install -e .

# Or install with development dependencies
pip install -e .[dev]

Related MCP server: Calculator MCP Server

Running the Server

Start the MCP calculator server:

python server.py

The server will start on http://localhost:8000/mcp/calculator using the streamable HTTP transport.

You should see output similar to:

Uvicorn running on http://0.0.0.0:8000

Testing with the Client

1. Run the Test Client

In a new terminal (while the server is running):

python client.py

This will connect to the server and list all available tools.

2. Example Client Usage

You can modify client.py to test specific calculator functions:

from fastmcp import Client
import asyncio

async def main():
    # Connect via SSE
    async with Client("http://localhost:8000/mcp/calculator") as client:
        # List available tools
        tools = await client.list_tools()
        print(f"Available tools: {[tool['name'] for tool in tools]}")

        # Test some calculations
        result = await client.call_tool("add", {"a": 5, "b": 3})
        print(f"5 + 3 = {result}")

        result = await client.call_tool("factorial", {"n": 5})
        print(f"5! = {result}")

        result = await client.call_tool("is_prime", {"n": 17})
        print(f"Is 17 prime? {result}")

if __name__ == "__main__":
    asyncio.run(main())

Development

Code Formatting

black .
isort .

Type Checking

mypy .

Running Tests

pytest

Running Tests with Coverage

pytest --cov=. --cov-report=html

Author

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A demonstration server implementing the Model Context Protocol (MCP) that provides three basic tools: echo, calculator, and current time functionality.
    3
    12 npm
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    A simple MCP server that provides basic calculator functionality for performing mathematical operations. Built with FastMCP and demonstrates fundamental MCP server implementation patterns.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A demonstration MCP server that provides calculator functionality through both stdio and FastAPI implementations. Enables users to perform mathematical calculations via MCP tools using the FastMCP framework.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A template MCP server built with FastMCP framework that demonstrates basic tool implementation with a simple addition calculator example.
    8 npm
    -