UNPKG

@skyramp/mcp

Version:

Skyramp MCP (Model Context Protocol) Server - AI-powered test generation and execution

39 lines (38 loc) 1.29 kB
export class McpLogger { loggerName; constructor(loggerName = "skyramp-mcp") { this.loggerName = loggerName; } sendLogMessage(level, message, data) { // MCP servers should use console.error for logging to stderr per MCP spec // This ensures logs are properly captured by MCP clients and don't interfere // with the JSON-RPC protocol communication on stdout const timestamp = new Date().toISOString(); const logEntry = { timestamp, level: level.toUpperCase(), logger: this.loggerName, message, ...(data && { data }), }; // Use console.error for structured logging (this goes to stderr) console.error(JSON.stringify(logEntry)); } debug(message, data) { this.sendLogMessage("debug", message, data); } info(message, data) { this.sendLogMessage("info", message, data); } warning(message, data) { this.sendLogMessage("warning", message, data); } error(message, data) { this.sendLogMessage("error", message, data); } critical(message, data) { this.sendLogMessage("critical", message, data); } } // Export singleton instance export const logger = new McpLogger();