Specif-ai MCP Server

Official
import pino from 'pino' import type { LoggerOptions, TransportTargetOptions } from 'pino' import os from 'os' /** * Default log file path: $HOME/.specif-ai/mcp-log.log * Can be overridden with LOG_FILE_PATH environment variable */ const LOG_FILE_PATH = process.env.LOG_FILE_PATH || `${process.env.HOME}/.specif-ai/mcp-log.log` /** * Logger configuration options */ const loggerOptions: LoggerOptions = { level: process.env.LOG_LEVEL || 'info', base: { version: process.env.SP_VERSION || '0.0.0', pid: process.pid, hostname: os.hostname(), }, } /** * Extended transport options type that includes worker configuration */ type ExtendedTransportOptions = TransportTargetOptions & { worker?: { autoEnd: boolean } } /** * Transport configuration for file writing */ const transportOptions: ExtendedTransportOptions = { target: 'pino/file', options: { destination: LOG_FILE_PATH, append: true, sync: false, mkdir: true, silent: true, }, worker: { autoEnd: false, }, } /** * Create logger instance that writes to file if possible, * otherwise silently falls back to noop transport */ const logger = pino(loggerOptions, pino.transport(transportOptions)) export { logger }