UNPKG

@endlessblink/like-i-said-v2

Version:

Task Management & Memory for Claude - Track tasks, remember context, and maintain continuity across sessions with 27 powerful tools. Works with Claude Desktop and Claude Code.

55 lines (46 loc) â€ĸ 1.8 kB
#!/usr/bin/env node // Clean wrapper for NPX execution that suppresses all non-JSON output // This prevents ANSI color codes and console messages from corrupting the MCP protocol // Suppress all console output except stderr for MCP const originalConsoleLog = console.log; const originalConsoleError = console.error; const originalConsoleWarn = console.warn; const originalConsoleInfo = console.info; // Override console methods to prevent output corruption console.log = () => {}; console.warn = () => {}; console.info = () => {}; console.error = (...args) => { // Only allow MCP protocol messages through stderr const message = args.join(' '); // Filter out ANSI codes and startup messages if (message.includes('\x1b[') || message.includes('Starting') || message.includes('Initialized') || message.includes('✅') || message.includes('🚀') || message.includes('â„šī¸') || message.includes('âš ī¸')) { return; } // Only output clean JSON-RPC messages if (message.startsWith('{') && message.includes('"jsonrpc"')) { originalConsoleError.apply(console, args); } }; // Set environment to ensure quiet mode process.env.MCP_QUIET = 'true'; process.env.MCP_MODE = 'true'; process.env.NO_COLOR = '1'; process.env.FORCE_COLOR = '0'; // Import and run the actual server // Use dynamic path resolution to find the server file import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const serverPath = join(__dirname, 'server-markdown.js'); import(serverPath).catch(err => { // Silent error - don't output anything that could corrupt JSON-RPC process.exit(1); });