{"record":{"id":"877955f4df1b3e4c","repo":"Kuberwastaken/claurst","slug":"mcp-server-legacy-sse-post-endpoint-has-not","errorCode":null,"errorMessage":"MCP server '{}': legacy SSE POST endpoint has not been discovered","messagePattern":"MCP server '(.+?)': legacy SSE POST endpoint has not been discovered","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-rust/crates/mcp/src/rmcp_backend.rs","lineNumber":370,"sourceCode":"    }\n}\n\nimpl rmcp::transport::Transport<RoleClient> for LegacySseRmcpTransport {\n    type Error = LegacySseTransportError;\n\n    fn send(\n        &mut self,\n        item: rmcp::service::TxJsonRpcMessage<RoleClient>,\n    ) -> impl std::future::Future<Output = Result<(), Self::Error>> + Send + 'static {\n        let endpoint = lock_recover(&self.post_endpoint).clone();\n        let client = self.client.clone();\n        let auth_token = self.auth_token.clone();\n        let server_name = self.server_name.clone();\n        let incoming_tx = self.incoming_tx.clone();\n        let background_tasks = Arc::clone(&self.background_tasks);\n        async move {\n            let endpoint = endpoint.ok_or_else(|| {\n                anyhow::anyhow!(\n                    \"MCP server '{}': legacy SSE POST endpoint has not been discovered\",\n                    server_name\n                )\n            })?;\n\n            let mut request = client\n                .post(endpoint)\n                .header(reqwest::header::CONTENT_TYPE, \"application/json\")\n                .json(&item);\n            if let Some(token) = &auth_token {\n                request = request.header(\n                    reqwest::header::AUTHORIZATION,\n                    transport::bearer_header_value(token)?,\n                );\n            }\n\n            let response = request.send().await.map_err(|e| {\n                anyhow::anyhow!(","sourceCodeStart":352,"sourceCodeEnd":388,"githubUrl":"https://github.com/Kuberwastaken/claurst/blob/b0637c97ec34144387cbf2f74f65df6d16a6cef1/src-rust/crates/mcp/src/rmcp_backend.rs#L352-L388","documentation":"The legacy SSE transport's send() was invoked before endpoint discovery finished — the post_endpoint slot is still unset, so there is nowhere to POST JSON-RPC messages. Happens when a request races ahead of the SSE endpoint event (or discovery failed silently).","triggerScenarios":"Thrown at src-rust/crates/mcp/src/rmcp_backend.rs:370 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the connection completes initialization before sending requests","Check for prior SSE endpoint discovery failures in logs","Retry the connection; use streamable-http transport if available"],"exampleFix":null,"handlingStrategy":"validation","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-17T15:17:12.973Z"}