UNPKG

@aashari/boilerplate-mcp-server

Version:

TypeScript Model Context Protocol (MCP) server boilerplate providing IP lookup tools/resources. Includes CLI support and extensible structure for connecting AI systems (LLMs) to external data sources like ip-api.com. Ideal template for creating new MCP in

74 lines (73 loc) 2.08 kB
/** * Error types for classification */ export declare enum ErrorType { AUTH_MISSING = "AUTH_MISSING", AUTH_INVALID = "AUTH_INVALID", API_ERROR = "API_ERROR", UNEXPECTED_ERROR = "UNEXPECTED_ERROR" } /** * Custom error class with type classification */ export declare class McpError extends Error { type: ErrorType; statusCode?: number; originalError?: unknown; constructor(message: string, type: ErrorType, statusCode?: number, originalError?: unknown); } /** * Create an authentication missing error */ export declare function createAuthMissingError(message?: string): McpError; /** * Create an authentication invalid error */ export declare function createAuthInvalidError(message?: string): McpError; /** * Create an API error */ export declare function createApiError(message: string, statusCode?: number, originalError?: unknown): McpError; /** * Create an unexpected error */ export declare function createUnexpectedError(message?: string, originalError?: unknown): McpError; /** * Ensure an error is an McpError */ export declare function ensureMcpError(error: unknown): McpError; /** * Get the deepest original error from an error chain * @param error The error to extract the original cause from * @returns The deepest original error or the error itself */ export declare function getDeepOriginalError(error: unknown): unknown; /** * Format error for MCP tool response */ export declare function formatErrorForMcpTool(error: unknown): { content: Array<{ type: 'text'; text: string; }>; metadata?: { errorType: ErrorType; statusCode?: number; errorDetails?: unknown; }; }; /** * Format error for MCP resource response */ export declare function formatErrorForMcpResource(error: unknown, uri: string): { contents: Array<{ uri: string; text: string; mimeType: string; description?: string; }>; }; /** * Handle error in CLI context with improved user feedback */ export declare function handleCliError(error: unknown): never;