{"record":{"id":"5de157162848f645","repo":"Kuberwastaken/claurst","slug":"mcp-server-no-supported-streamable-http-prot","errorCode":null,"errorMessage":"MCP server '{}': no supported streamable HTTP protocol version found","messagePattern":"MCP server '(.+?)': no supported streamable HTTP protocol version found","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src-rust/crates/mcp/src/lib.rs","lineNumber":642,"sourceCode":"                            Ok(backend) => return Ok(Self::from_backend(Arc::new(backend))),\r\n                            Err(e) => {\r\n                                let message = e.to_string();\r\n                                if Self::is_unsupported_protocol_error(&message) {\r\n                                    debug!(\r\n                                        server = %config.name,\r\n                                        protocol_version = %protocol_version_label,\r\n                                        error = %message,\r\n                                        \"Streamable HTTP protocol version unsupported; trying fallback\"\r\n                                    );\r\n                                    last_error = Some(e);\r\n                                    continue;\r\n                                }\r\n                                return Err(e);\r\n                            }\r\n                        }\r\n                    }\r\n                    Err(last_error.unwrap_or_else(|| {\r\n                        anyhow::anyhow!(\r\n                            \"MCP server '{}': no supported streamable HTTP protocol version found\",\r\n                            config.name\r\n                        )\r\n                    }))\r\n                }\r\n                other => Err(anyhow::anyhow!(\r\n                    \"MCP server '{}': unsupported transport type '{}'\",\r\n                    config.name,\r\n                    other\r\n                )),\r\n            }\r\n        }\r\n\r\n        pub(crate) fn is_unsupported_protocol_error(message: &str) -> bool {\r\n            // rmcp, servers, and gateways do not emit a single stable\r\n            // protocol-negotiation error string, so match the known variants\r\n            // conservatively to keep downgrade fallback working.\r\n            let lower = message.to_ascii_lowercase();\r","sourceCodeStart":624,"sourceCodeEnd":660,"githubUrl":"https://github.com/Kuberwastaken/claurst/blob/b0637c97ec34144387cbf2f74f65df6d16a6cef1/src-rust/crates/mcp/src/lib.rs#L624-L660","documentation":"During streamable-HTTP connect the client tries each supported protocol version in turn and remembers the last failure. If the version list produced no error to report (conceptually, the attempts were exhausted without a recorded error), it throws this fallback error naming the server.","triggerScenarios":"MCP connect with server_type \"streamable-http\" where every protocol-version attempt failed and last_error was None — i.e. an empty/fully-filtered STREAMABLE_HTTP_PROTOCOL_VERSIONS list or a loop that never recorded an error.","commonSituations":"All protocol versions rejected (server incompatible) combined with code paths that swallow the per-attempt error; misconfigured feature flags emptying the version list; library build where the versions slice is empty.","solutions":["Check the per-attempt errors logged just before this message to find the real failure cause","Ensure the MCP server supports at least one streamable-HTTP protocol version the client offers","Verify STREAMABLE_HTTP_PROTOCOL_VERSIONS is non-empty and unpolluted in the installed build","Fall back to server_type \"sse\" if the server only supports legacy transport"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"match connect(streamable_cfg).await {\n    Err(e) if e.to_string().contains(\"no supported streamable HTTP protocol version\") => {\n        connect(sse_cfg).await? // fall back to legacy SSE\n    }\n    r => r?,\n}","preventionTips":["Confirm server/client protocol-version overlap before deploying","Capture and log per-version attempt errors during connect","Provide an SSE fallback config for older servers"],"tags":["mcp","protocol-version","compatibility"],"backgroundTag":"incompatible-source-type","analyzedSha":"b0637c97ec34144387cbf2f74f65df6d16a6cef1","analyzedAt":"2026-09-10T00:24:58.650Z","contentChangedAt":"2026-09-10T00:24:58.650Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}