Skip to main content
Glama
MHNahib

MCP Calculation Server

by MHNahib

MCP — Calculation Server

A stateless Model Context Protocol (MCP) server that exposes arithmetic tools over HTTP. MCP clients (Claude Desktop, VS Code Copilot, Cursor, etc.) can connect to it and invoke the tools conversationally.

Architecture

MCP Client (Claude, VS Code, etc.)
        │
        │  HTTP POST /mcp  (JSON-RPC 2.0)
        ▼
  Express.js server  :3000
        │
        │  per-request lifecycle
        ▼
  McpServer  ──  StreamableHTTPServerTransport
        │
  4 calculation tools

Each incoming request gets a fresh McpServer instance that is torn down when the response closes (stateless mode).


Related MCP server: MCP Calculator Streamable HTTP

Tools

Tool

Description

Inputs

Output

add_two_numbers

Add two numbers

a: number, b: number

result: number

subtract_two_numbers

Subtract the second number from the first

a: number, b: number

result: number

multiply_two_numbers

Multiply two numbers

a: number, b: number

result: number

divide_two_numbers

Divide the first number by the second

a: number, b: number

result: number

divide_two_numbers returns an error response when b is 0 rather than throwing.


Prerequisites

  • Node.js 18+

  • npm


Getting Started

1. Install dependencies

npm install

2. Run in development mode (hot reload)

npm run dev

The server starts at http://localhost:3000/mcp.

3. Build for production

Note: tsconfig.json compiles to ./build/, but package.json's start script points to dist/index.js. Fix one of them before running production mode.

# Option A — update start script to match tsconfig outDir
npm run build
node build/index.js

# Option B — update tsconfig outDir to "dist" and then run
npm run build
npm start

4. Run with Docker

docker build -t mcp-calculation .
docker run -p 3000:3000 mcp-calculation

Custom port:

docker run -p 8080:8080 -e PORT=8080 mcp-calculation

Connecting an MCP Client

VS Code (Copilot / Claude extension)

A .vscode/mcp.json is already included:

{
  "servers": {
    "my-mcp-server-de2625e8": {
      "url": "http://localhost:3000/mcp",
      "type": "http"
    }
  }
}

Start the server (npm run dev), then open the MCP panel in VS Code — the Calculation Server will appear automatically.

Claude Desktop

Add the following to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "calculation-server": {
      "url": "http://localhost:3000/mcp",
      "type": "http"
    }
  }
}

Any HTTP MCP client

Setting

Value

URL

http://localhost:3000/mcp

Transport

HTTP (Streamable HTTP)

Method

POST

Protocol

JSON-RPC 2.0


Using the Tools

Once connected, ask your MCP client naturally:

What is 42 plus 58?
What is 100 divided by 4?
Multiply 7 by 8.
Subtract 15 from 100.

Direct HTTP example (curl)

# List available tools
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'
# Call add_two_numbers
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "add_two_numbers",
      "arguments": { "a": 12, "b": 30 }
    }
  }'

Expected response:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [{ "type": "text", "text": "The sum of 12 and 30 is 42" }],
    "structuredContent": { "result": 42 }
  }
}
# Division by zero — returns an error response (not an HTTP error)
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "divide_two_numbers",
      "arguments": { "a": 10, "b": 0 }
    }
  }'

Environment Variables

Variable

Default

Description

PORT

3000

Port the HTTP server listens on


Project Structure

mcp-calculation/
├── src/
│   └── index.ts        # Server entry point — tools + Express setup
├── .vscode/
│   └── mcp.json        # VS Code MCP client config
├── Dockerfile
├── package.json
└── tsconfig.json

Tech Stack

Package

Purpose

@modelcontextprotocol/sdk

MCP server + transport primitives

express

HTTP server (v5)

zod

Input/output schema validation

tsx

TypeScript execution for dev mode

typescript

Type checking + build

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    -
    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.
    Last updated
  • F
    license
    -
    quality
    -
    maintenance
    Provides basic arithmetic calculation tools through an HTTP-accessible MCP server. Supports mathematical operations like addition with streamable responses for integration with MCP clients.
    Last updated
  • F
    license
    -
    quality
    -
    maintenance
    A minimal Python-based MCP server that provides standard arithmetic tools including addition, subtraction, multiplication, and division. It allows language models to perform basic mathematical calculations through a standardized interface.
    Last updated
  • F
    license
    -
    quality
    D
    maintenance
    A sample MCP server that provides basic arithmetic tools like addition, subtraction, multiplication, and division. It serves as a demonstration for implementing the Model Context Protocol and connecting custom tools to clients like Claude Desktop.
    Last updated

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

View all MCP Connectors

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/MHNahib/mcp-calculation'

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