Skip to main content
Glama

MCP SQL Server

by ryudg
QueryExecutionError.ts2.21 kB
/** * QueryExecutionError * * Domain-specific error for query execution failures. * Implements the 4H principles for user-friendly error messages. */ export class QueryExecutionError extends Error { constructor( readonly queryId: string, readonly originalError: Error, message: string = 'An error occurred during query execution' ) { super(`${message} (Query ID: ${queryId}): ${originalError.message}`); this.name = 'QueryExecutionError'; // Ensure prototype chain is properly maintained Object.setPrototypeOf(this, QueryExecutionError.prototype); } /** * Gets a human-readable error message following the 4H principles: * - Human: Written in human language * - Helpful: Provides context and possible solutions * - Humorous: Keeps a light tone (where appropriate) * - Humble: Doesn't blame the user * * @returns User-friendly error message */ getHumanReadableMessage(): string { const baseMessage = 'We encountered an issue while running your query.'; // Identify common SQL errors and provide helpful messages const originalMessage = this.originalError.message.toLowerCase(); if (originalMessage.includes('syntax error')) { return `${baseMessage} There appears to be a syntax error in your SQL. Please check your query syntax and try again.`; } if (originalMessage.includes('permission') || originalMessage.includes('access denied')) { return `${baseMessage} You might not have the necessary permissions to perform this operation. Please contact your database administrator.`; } if (originalMessage.includes('timeout')) { return `${baseMessage} The query took too long to execute. Consider optimizing your query or breaking it into smaller parts.`; } if (originalMessage.includes('not found') || originalMessage.includes("doesn't exist")) { return `${baseMessage} One of the tables or columns referenced in your query doesn't exist. Please verify the object names.`; } // Default message for other errors return `${baseMessage} Please review your query and try again. If the problem persists, contact support with reference ID: ${this.queryId}.`; } }

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/ryudg/mcp-sql'

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