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]

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

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arulrajnet/mcp-calculator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server