The MCP Math Server provides comprehensive mathematical operations, comparison tools, and a greeting resource for AI assistants and tool integrations.
Mathematical Operations:
Basic arithmetic: addition, subtraction, multiplication, and division (with division-by-zero error handling)
Advanced functions: square and square root calculations (with negative input error handling and results rounded to two decimals)
Number theory: Greatest Common Measure (GCM/GCD) and Least Common Multiple (LCM) calculations
Comparison Tools:
Less than, greater than, less than or equal, and greater than or equal operations
General comparison returning -1, 0, or 1 with descriptive results
Additional Features:
Personalized greeting functionality that returns "Hello, {name}!"
Type-safe implementation using Zod schemas for input validation
Comprehensive error handling for edge cases
Extensible architecture for adding more tools and resources
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
Clone the repository or copy the project files.
Install dependencies:
npm installCompile the TypeScript code:
npx tsc
Running the Server
This project is designed to run as an MCP server using VS Code's MCP integration.
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": [] }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
ora is not less than b
greaterThan: Compare if a is greater than b
Input:
{ a: number, b: number }
Output:
a is greater than b
ora 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
ora 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
ora 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://Alice
→Hello, 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
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Provides basic mathematical operations including arithmetic, square root, and number theory functions like GCD and LCM. Built with TypeScript and includes proper error handling for edge cases like division by zero.