UNPKG

@access-mcp/shared

Version:

Shared utilities for ACCESS-CI MCP servers

43 lines (42 loc) 1.55 kB
/** * Structured logger for ACCESS-CI MCP servers. * * This logger writes to stderr to avoid interfering with MCP's JSON-RPC * communication on stdout. It supports log levels that can be controlled * via the LOG_LEVEL environment variable. * * Log levels (in order of severity): * - error: Always shown, for critical errors * - warn: Warnings that don't prevent operation * - info: Important informational messages * - debug: Detailed debugging information (disabled by default) * * Usage: * import { createLogger } from "@access-mcp/shared"; * const logger = createLogger("my-server"); * logger.info("Server started"); * logger.error("Failed to connect", { url: "http://..." }); */ export type LogLevel = "error" | "warn" | "info" | "debug"; interface LogContext { [key: string]: unknown; } export interface Logger { error: (message: string, context?: LogContext) => void; warn: (message: string, context?: LogContext) => void; info: (message: string, context?: LogContext) => void; debug: (message: string, context?: LogContext) => void; } /** * Create a logger instance for a specific server. * * @param serverName - The name of the server (e.g., "access-mcp-events") * @returns A logger instance with error, warn, info, and debug methods */ export declare function createLogger(serverName: string): Logger; /** * A no-op logger that silently discards all log messages. * Useful for testing or when logging should be completely disabled. */ export declare const silentLogger: Logger; export {};