Skip to main content
Glama
logger.ts1.46 kB
/** * Simple logger that writes to stderr to avoid interfering with MCP communication */ type LogLevel = 'debug' | 'info' | 'warn' | 'error'; class Logger { private enabled: boolean; private level: LogLevel; constructor() { // Check environment variables this.enabled = process.env.MCP_DEBUG === 'true' || process.env.DEBUG === 'true'; this.level = (process.env.LOG_LEVEL || 'info') as LogLevel; } private shouldLog(level: LogLevel): boolean { if (!this.enabled) return false; const levels: LogLevel[] = ['debug', 'info', 'warn', 'error']; const currentLevelIndex = levels.indexOf(this.level); const messageLevelIndex = levels.indexOf(level); return messageLevelIndex >= currentLevelIndex; } private log(level: LogLevel, message: string, ...args: any[]): void { if (!this.shouldLog(level)) return; const timestamp = new Date().toISOString(); const prefix = `[${timestamp}] [${level.toUpperCase()}]`; console.error(prefix, message, ...args); } debug(message: string, ...args: any[]): void { this.log('debug', message, ...args); } info(message: string, ...args: any[]): void { this.log('info', message, ...args); } warn(message: string, ...args: any[]): void { this.log('warn', message, ...args); } error(message: string, ...args: any[]): void { this.log('error', message, ...args); } } export const logger = new Logger();

Latest Blog Posts

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/Limecooler/yt-video-info'

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