From 84ad1f72cb344733e902c1e0868204be8933aa4b Mon Sep 17 00:00:00 2001 From: "Inci (OpenClaw)" Date: Fri, 13 Feb 2026 07:25:18 +0000 Subject: [PATCH 1/2] fix(mcp): add startup confirmation log for stdio mode Previously the command seemed to hang with no output, causing users to think it failed to start. Now prints a clear message to stderr once the MCP server is ready and waiting for client connections. Example: QMD MCP server ready on stdio (PID 12345) This does not affect the MCP protocol (message goes to stderr). --- src/mcp.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mcp.ts b/src/mcp.ts index 24fb44f7..7322d8ed 100644 --- a/src/mcp.ts +++ b/src/mcp.ts @@ -534,6 +534,8 @@ export async function startMcpServer(): Promise { const server = createMcpServer(store); const transport = new StdioServerTransport(); await server.connect(transport); + // Log to stderr (not stdout, which is used for MCP messages) + console.error("QMD MCP server ready on stdio (PID %d)", process.pid); } // ============================================================================= From 7e85a450c1af8b35aa30d1d53fe734c58eb249d8 Mon Sep 17 00:00:00 2001 From: "Inci (OpenClaw)" Date: Fri, 13 Feb 2026 07:31:50 +0000 Subject: [PATCH 2/2] style(mcp): use console.info instead of console.error for startup message Avoids alarming output; still goes to stderr and does not interfere with MCP protocol. --- src/mcp.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mcp.ts b/src/mcp.ts index 7322d8ed..0ab916be 100644 --- a/src/mcp.ts +++ b/src/mcp.ts @@ -534,8 +534,8 @@ export async function startMcpServer(): Promise { const server = createMcpServer(store); const transport = new StdioServerTransport(); await server.connect(transport); - // Log to stderr (not stdout, which is used for MCP messages) - console.error("QMD MCP server ready on stdio (PID %d)", process.pid); + // Informational log to stderr (not stdout, which is used for MCP messages) + console.info("QMD MCP server ready on stdio (PID %d)", process.pid); } // =============================================================================