diff --git a/src/mcp.ts b/src/mcp.ts index 8a4acf7..d973c65 100644 --- a/src/mcp.ts +++ b/src/mcp.ts @@ -155,6 +155,11 @@ export async function handleMcpRequest(request: Request): Promise { return jsonRpcError(null, -32700, "Parse error"); } + // JSON-RPC 2.0: an empty batch is Invalid Request, not a successful empty batch. + if (Array.isArray(body) && body.length === 0) { + return jsonRpcError(null, -32600, "Invalid Request: empty batch"); + } + const requests = Array.isArray(body) ? body : [body]; const responses: unknown[] = [];