UNPKG

@cyanheads/toolkit-mcp-server

Version:

MCP server providing system, network, geolocation, generator, datetime, and security tools

37 lines (36 loc) 1.06 kB
import { ErrorCode } from '@modelcontextprotocol/sdk/types.js'; export class McpToolError extends Error { code; data; constructor(code, message, data) { super(message); this.code = code; this.data = data; this.name = 'McpToolError'; } } export function handleToolError(error) { if (error instanceof McpToolError) { return { isError: true, content: [{ type: 'text', text: `Error ${error.code}: ${error.message}${error.data ? `\nDetails: ${JSON.stringify(error.data)}` : ''}` }] }; } // Handle unknown errors return { isError: true, content: [{ type: 'text', text: `Internal error: ${error instanceof Error ? error.message : 'Unknown error'}` }] }; } export function validateInput(input, validator, errorMessage) { if (!validator(input)) { throw new McpToolError(ErrorCode.InvalidParams, errorMessage); } return input; }