From 96839962178b45ba415976efd62d4bffaa0fe40e Mon Sep 17 00:00:00 2001 From: BarryY Date: Fri, 16 May 2025 15:53:35 +0800 Subject: [PATCH] fix: correcting ping method response format --- src/transport.ts | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/transport.ts b/src/transport.ts index 2c287ab..6541e12 100644 --- a/src/transport.ts +++ b/src/transport.ts @@ -322,10 +322,7 @@ export class StreamableHttpTransport implements MCPTransport { } break; - case 'ping': - // Add support for heartbeat ping - result = { pong: true }; - break; + case 'tools/call': // Handle new tools/call method format @@ -490,14 +487,22 @@ export class StreamableHttpTransport implements MCPTransport { break; default: - return res.status(400).json({ - jsonrpc: '2.0', - error: { - code: -32601, - message: `Method not found: ${method}`, - }, - id: req.body?.id || null, - }); + // For method 'ping' and other non-critical methods, just return an empty result + // This ensures MCP compatibility for health checks and probes + if (method === 'ping') { + info(`Returning empty response for ping request`); + result = {}; + } else { + // For other unknown methods, return method not found error + return res.status(400).json({ + jsonrpc: '2.0', + error: { + code: -32601, + message: `Method not found: ${method}`, + }, + id: req.body?.id || null, + }); + } } info(`Request for ${method} handled successfully`);