Skip to main content
Glama

MCP SQL Server

by ryudg
base.adapter.ts1.81 kB
import { DatabaseConfig, QueryResult, TableInfo, QueryOptions, DatabaseType, } from '../../types/database.types.js'; import { Logger } from '../../core/logger.js'; /** * Database Adapter Abstract Base Class * * Common interface that all database adapters must implement */ export abstract class BaseDatabaseAdapter { protected config: DatabaseConfig; protected connected: boolean = false; protected logger?: Logger; constructor(config: DatabaseConfig, logger?: Logger) { this.config = config; this.logger = logger; } /** * Connect to database */ abstract connect(): Promise<void>; /** * Disconnect from database */ abstract disconnect(): Promise<void>; /** * Execute query */ abstract executeQuery(query: string, options?: QueryOptions): Promise<QueryResult>; /** * Get table list */ abstract getTables(): Promise<TableInfo[]>; /** * Get specific table information */ abstract getTableInfo(tableName: string): Promise<TableInfo>; /** * Get schema information */ abstract getSchema(includeDetailedInfo?: boolean): Promise<any>; /** * Test connection status */ abstract testConnection(): Promise<boolean>; /** * Return database type */ abstract getType(): DatabaseType; /** * Check current connection status */ isConnected(): boolean { return this.connected; } /** * Get configuration information */ getConfig(): DatabaseConfig { return { ...this.config }; } /** * Generate connection string (mask password for security) */ getConnectionString(): string { const config = this.getConfig(); const portPart = config.port !== undefined ? config.port : 'default'; return `${config.host}:${portPart}/${config.database} (${config.user})`; } }

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