Skip to main content
Glama
wxt2rr

Math Calculator MCP Server

by wxt2rr

calculate

Perform basic mathematical operations including addition, subtraction, multiplication, and division with two numbers.

Input Schema

NameRequiredDescriptionDefault
operationYes
aYes
bYes

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "a": { "type": "number" }, "b": { "type": "number" }, "operation": { "enum": [ "add", "subtract", "multiply", "divide" ], "type": "string" } }, "required": [ "operation", "a", "b" ], "type": "object" }

Implementation Reference

  • Handler function that executes the arithmetic calculation based on the specified operation and parameters a and b, returning the result in MCP text content format or an error for division by zero.
    async ({ operation, a, b }) => { switch (operation) { case "add": return { content: [{ type: "text", text: String(a + b) }] }; case "subtract": return { content: [{ type: "text", text: String(a - b) }] }; case "multiply": return { content: [{ type: "text", text: String(a * b) }] }; case "divide": if (b === 0) { return { isError: true, content: [{ type: "text", text: "Division by zero" }] }; } return { content: [{ type: "text", text: String(a / b) }] }; } }
  • Zod input schema defining the tool parameters: operation as one of add/subtract/multiply/divide, and numeric arguments a and b.
    { operation: z.enum(["add", "subtract", "multiply", "divide"]), a: z.number(), b: z.number(), },
  • src/server.ts:10-32 (registration)
    Registration of the 'calculate' tool on the MCP server, specifying the name, input schema, and handler function.
    server.tool( "calculate", { operation: z.enum(["add", "subtract", "multiply", "divide"]), a: z.number(), b: z.number(), }, async ({ operation, a, b }) => { switch (operation) { case "add": return { content: [{ type: "text", text: String(a + b) }] }; case "subtract": return { content: [{ type: "text", text: String(a - b) }] }; case "multiply": return { content: [{ type: "text", text: String(a * b) }] }; case "divide": if (b === 0) { return { isError: true, content: [{ type: "text", text: "Division by zero" }] }; } return { content: [{ type: "text", text: String(a / b) }] }; } } );

Other Tools

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/wxt2rr/mcp-server-test'

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