UNPKG

@z_ai/mcp-server

Version:

MCP Server for Z.AI - A Model Context Protocol server that provides AI capabilities

43 lines (42 loc) 1.46 kB
/** * Logger utility that redirects console output to stderr * This ensures MCP JSON communication on stdout remains clean */ class Logger { writeToStderr(level, message, ...args) { const timestamp = new Date().toISOString(); const logMessage = args.length > 0 ? `[${timestamp}] ${level.toUpperCase()}: ${message} ${JSON.stringify(args)}` : `[${timestamp}] ${level.toUpperCase()}: ${message}`; process.stderr.write(logMessage + '\n'); } info(message, ...args) { this.writeToStderr('info', message, ...args); } error(message, ...args) { this.writeToStderr('error', message, ...args); } warn(message, ...args) { this.writeToStderr('warn', message, ...args); } debug(message, ...args) { this.writeToStderr('debug', message, ...args); } log(message, ...args) { this.writeToStderr('info', message, ...args); } } export const logger = new Logger(); /** * Override global console to redirect to stderr * This prevents console output from interfering with MCP JSON protocol */ export function setupConsoleRedirection() { const originalConsole = { ...console }; console.info = logger.info.bind(logger); console.error = logger.error.bind(logger); console.warn = logger.warn.bind(logger); console.debug = logger.debug.bind(logger); console.log = logger.log.bind(logger); return originalConsole; }