{"record":{"id":"21551796271d78a5","repo":"Kuberwastaken/claurst","slug":"mcp-server-failed-to-open-legacy-sse-stream","errorCode":null,"errorMessage":"MCP server '{}': failed to open legacy SSE stream '{}': {}","messagePattern":"MCP server '(.+?)': failed to open legacy SSE stream '(.+?)': (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-rust/crates/mcp/src/rmcp_backend.rs","lineNumber":267,"sourceCode":"        Ok(transport)\n    }\n\n    async fn start_sse_listener(&self) -> anyhow::Result<()> {\n        let (endpoint_tx, endpoint_rx) = oneshot::channel::<anyhow::Result<String>>();\n        let endpoint_tx = Arc::new(StdMutex::new(Some(endpoint_tx)));\n\n        let mut request = self\n            .client\n            .get(&self.sse_url)\n            .header(reqwest::header::ACCEPT, \"text/event-stream\");\n        if let Some(token) = &self.auth_token {\n            request = request.header(\n                reqwest::header::AUTHORIZATION,\n                transport::bearer_header_value(token)?,\n            );\n        }\n        let response = request.send().await.map_err(|e| {\n            anyhow::anyhow!(\n                \"MCP server '{}': failed to open legacy SSE stream '{}': {}\",\n                self.server_name,\n                self.sse_url,\n                e\n            )\n        })?;\n        if !response.status().is_success() {\n            let status = response.status();\n            let body = response.text().await.unwrap_or_default();\n            anyhow::bail!(\n                \"MCP server '{}': legacy SSE stream returned HTTP {}: {}\",\n                self.server_name,\n                status,\n                body\n            );\n        }\n\n        let server_name = self.server_name.clone();","sourceCodeStart":249,"sourceCodeEnd":285,"githubUrl":"https://github.com/Kuberwastaken/claurst/blob/b0637c97ec34144387cbf2f74f65df6d16a6cef1/src-rust/crates/mcp/src/rmcp_backend.rs#L249-L285","documentation":"The legacy SSE transport could not establish its event stream: the initial GET to the server's SSE URL (with Accept: text/event-stream and optional bearer auth) failed at the connection/request level. This is the first step of legacy-SSE endpoint discovery; no POST endpoint can be learned without the stream.","triggerScenarios":"Thrown at src-rust/crates/mcp/src/rmcp_backend.rs:267 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the SSE URL is reachable and serves text/event-stream","Check auth token validity if the server requires a bearer token","Prefer the streamable-http transport if the server supports it"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}