ruvnet/ruflo · error

Streamable HTTP failed, trying SSE transport...

Error message

Streamable HTTP failed, trying SSE transport...

What it means

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.

Source

Thrown at ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts:160

			} else {
				const res = new Response(
					JSON.stringify({
						ready: false,
						error: "Connected but no tools available",
						authRequired: false,
					} as HealthCheckResponse),
					{
						status: 503,
						headers: { "Content-Type": "application/json" },
					}
				);
				clearTimeout(timeoutId);
				return res;
			}
		} catch (error) {
			httpError = error instanceof Error ? error : new Error(String(error));
			lastError = httpError;
			logger.warn(lastError.message, "Streamable HTTP failed, trying SSE transport...");

			// Close failed client
			try {
				await client?.close();
			} catch {
				// Ignore
			}

			// Try SSE transport
			try {
				logger.info({}, `[MCP Health] Trying SSE transport for ${url}`);
				client = new Client({
					name: "chat-ui-health-check",
					version: "1.0.0",
				});

				const sseTransport = new SSEClientTransport(baseUrl, { requestInit });
				logger.info({}, `[MCP Health] Connecting via SSE...`);

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. No action needed if SSE succeeds; to avoid the retry, configure the server to support streamable HTTP or mark it as SSE-only.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts:160 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/534cc811cd8b2b18. Report an issue: GitHub.