Skip to main content
Glama

MCP Math Server

MCP Math Server

A Model Context Protocol (MCP) server built with TypeScript and Node.js, designed to provide basic math operations and a greeting resource for AI assistants and tool integrations.

Features

  • Addition, Subtraction, Multiplication, Division (with division-by-zero error handling)

  • Square and Square Root (with error handling for negative input, and results rounded to two decimals)

  • Greatest Common Measure (GCM) and Least Common Multiple (LCM)

  • Number Comparison tools (less than, greater than, less than or equal, greater than or equal, general comparison)

  • Greeting resource (returns a personalized greeting)

  • Fully type-safe using Zod schemas

  • Easily extensible for more tools/resources

Installation

  1. Clone the repository or copy the project files.

  2. Install dependencies:

    npm install
  3. Compile the TypeScript code:

    npx tsc

Running the Server

This project is designed to run as an MCP server using VS Code's MCP integration.

  1. Ensure your .vscode/mcp.json is configured as follows:

    { "servers": { "my-mcp-server-d95b22f0": { "type": "stdio", "command": "node", "args": ["d:/Proj/3/mcp-demo/dist/index.js"] } }, "inputs": [] }
  2. Start VS Code and ensure the MCP extension is enabled. The server will start automatically.

Available Tools

  • add: Add two numbers

    • Input: { a: number, b: number }

    • Output: The sum of a and b is result

  • subtract: Subtract b from a

    • Input: { a: number, b: number }

    • Output: The difference of a and b is result

  • multiply: Multiply two numbers

    • Input: { a: number, b: number }

    • Output: The product of a and b is result

  • divide: Divide a by b

    • Input: { a: number, b: number }

    • Output: The quotient of a divided by b is result (error if b = 0)

  • square: Square a number

    • Input: { a: number }

    • Output: The square of a is result

  • sqrt: Square root of a number

    • Input: { x: number }

    • Output: The square root of x is result (rounded to two decimals, error if x < 0)

  • gcm: Greatest Common Measure of two numbers

    • Input: { a: number, b: number }

    • Output: The greatest common measure of a and b is result

  • lcm: Least Common Multiple of two numbers

    • Input: { a: number, b: number }

    • Output: The LCM of a and b is result

  • lessThan: Compare if a is less than b

    • Input: { a: number, b: number }

    • Output: a is less than b or a is not less than b

  • greaterThan: Compare if a is greater than b

    • Input: { a: number, b: number }

    • Output: a is greater than b or a is not greater than b

  • lessThanOrEqual: Compare if a is less than or equal to b

    • Input: { a: number, b: number }

    • Output: a is less than or equal to b or a is not less than or equal to b

  • greaterThanOrEqual: Compare if a is greater than or equal to b

    • Input: { a: number, b: number }

    • Output: a is greater than or equal to b or a is not greater than or equal to b

  • compare: General comparison tool

    • Input: { a: number, b: number }

    • Output: Comparison result: -1, 0, or 1 with description

Greeting Resource

  • greet: Returns a greeting for a given name

    • Resource URI: greet://{name}

    • Output: Hello, {name}!

Example Usage

  • Add: { a: 2, b: 3 }The sum of 2 and 3 is 5

  • Subtract: { a: 10, b: 5 }The difference of 10 and 5 is 5

  • Multiply: { a: 4, b: 6 }The product of 4 and 6 is 24

  • Divide: { a: 8, b: 2 }The quotient of 8 divided by 2 is 4

  • Square: { a: 7 }The square of 7 is 49

  • Square Root: { x: 5 }The square root of 5 is 2.24

  • GCM: { a: 12, b: 18 }The greatest common measure of 12 and 18 is 6

  • LCM: { a: 2, b: 5 }The LCM of 2 and 5 is 10

  • Less Than: { a: 3, b: 5 }3 is less than 5

  • Greater Than: { a: 7, b: 4 }7 is greater than 4

  • Less Than or Equal: { a: 5, b: 5 }5 is less than or equal to 5

  • Greater Than or Equal: { a: 8, b: 3 }8 is greater than or equal to 3

  • Compare: { a: 2.5, b: 3.7 }Comparison result: -1 (2.5 is less than 3.7)

  • Greeting: greet://AliceHello, Alice!

Extending the Project

You can easily add more tools or resources by registering them in src/index.ts using the MCP SDK and Zod schemas.

License

MIT

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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/codewithmsunke/MCPMathTools'

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