UNPKG

it-tools-mcp

Version:

Full MCP 2025-06-18 compliant server with 121+ IT tools, logging, ping, progress tracking, cancellation, and sampling utilities

43 lines (42 loc) 1.49 kB
import { z } from "zod"; export function registerEvaluateMath(server) { server.registerTool("evaluate_math", { description: "Safely evaluate mathematical expressions", inputSchema: { expression: z.string().describe("Mathematical expression to evaluate (e.g., '2 + 3 * 4')") }, // VS Code compliance annotations annotations: { title: "Evaluate Math", description: "Safely evaluate mathematical expressions", readOnlyHint: false } }, async ({ expression }) => { try { // @ts-ignore: Ignore missing type declarations for mathjs const { compile } = await import("mathjs"); const start = Date.now(); const code = compile(expression); const result = code.evaluate(); const elapsed = Date.now() - start; return { content: [ { type: "text", text: `Expression: ${expression}\nResult: ${result}\n(evaluated in ${elapsed} ms)` } ] }; } catch (error) { return { content: [ { type: "text", text: `Error evaluating expression: ${error instanceof Error ? error.message : 'Unknown error'}` } ] }; } }); }