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
JavaScript
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'}`
}
]
};
}
});
}