{"record":{"id":"534cc811cd8b2b18","repo":"ruvnet/ruflo","slug":"streamable-http-failed-trying-sse-transport","errorCode":null,"errorMessage":"Streamable HTTP failed, trying SSE transport...","messagePattern":"Streamable HTTP failed, trying SSE transport\\.\\.\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts","lineNumber":160,"sourceCode":"\t\t\t} else {\n\t\t\t\tconst res = new Response(\n\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\tready: false,\n\t\t\t\t\t\terror: \"Connected but no tools available\",\n\t\t\t\t\t\tauthRequired: false,\n\t\t\t\t\t} as HealthCheckResponse),\n\t\t\t\t\t{\n\t\t\t\t\t\tstatus: 503,\n\t\t\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\treturn res;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\thttpError = error instanceof Error ? error : new Error(String(error));\n\t\t\tlastError = httpError;\n\t\t\tlogger.warn(lastError.message, \"Streamable HTTP failed, trying SSE transport...\");\n\n\t\t\t// Close failed client\n\t\t\ttry {\n\t\t\t\tawait client?.close();\n\t\t\t} catch {\n\t\t\t\t// Ignore\n\t\t\t}\n\n\t\t\t// Try SSE transport\n\t\t\ttry {\n\t\t\t\tlogger.info({}, `[MCP Health] Trying SSE transport for ${url}`);\n\t\t\t\tclient = new Client({\n\t\t\t\t\tname: \"chat-ui-health-check\",\n\t\t\t\t\tversion: \"1.0.0\",\n\t\t\t\t});\n\n\t\t\t\tconst sseTransport = new SSEClientTransport(baseUrl, { requestInit });\n\t\t\t\tlogger.info({}, `[MCP Health] Connecting via SSE...`);","sourceCodeStart":142,"sourceCodeEnd":178,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts#L142-L178","documentation":"Log warning in the MCP health-check POST: connecting via the Streamable HTTP transport failed; the checker logs the failure, closes the failed client, and retries the health check over the SSE transport.","triggerScenarios":"Thrown at ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts:160 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["No action needed if SSE succeeds; to avoid the retry, configure the server to support streamable HTTP or mark it as SSE-only."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}