{"record":{"id":"c4985665c2ce6627","repo":"zeroclaw-labs/zeroclaw","slug":"mcp-response-id-mismatch-expected-received","errorCode":null,"errorMessage":"MCP response id mismatch: expected {:?}, received {:?}","messagePattern":"MCP response id mismatch: expected (.+?), received (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-tools/src/mcp_transport.rs","lineNumber":1119,"sourceCode":"    fn update_session_id_from_headers(&self, headers: &reqwest::header::HeaderMap) {\n        if let Some(session_id) = headers\n            .get(MCP_SESSION_ID_HEADER)\n            .and_then(|v| v.to_str().ok())\n            .map(str::trim)\n            .filter(|v| !v.is_empty())\n        {\n            *self.session_id.lock() = Some(session_id.to_string());\n        }\n    }\n}\n\nfn finish_response(\n    request: &JsonRpcRequest,\n    lifecycle: &McpRequestLifecycle,\n    response: JsonRpcResponse,\n) -> Result<JsonRpcResponse> {\n    if response.id != request.id {\n        bail!(\n            \"MCP response id mismatch: expected {:?}, received {:?}\",\n            request.id,\n            response.id\n        );\n    }\n    lifecycle.mark_completed();\n    Ok(response)\n}\n\n#[async_trait::async_trait]\nimpl SharedMcpTransportConn for HttpTransport {\n    async fn send_and_recv(\n        &self,\n        request: &JsonRpcRequest,\n        lifecycle: &McpRequestLifecycle,\n    ) -> Result<JsonRpcResponse> {\n        let body = serde_json::to_string(request)?;\n","sourceCodeStart":1101,"sourceCodeEnd":1137,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-tools/src/mcp_transport.rs#L1101-L1137","documentation":"Error \"MCP response id mismatch: expected {:?}, received {:?}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-tools/src/mcp_transport.rs:1119 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The MCP server answered out of order or the wrong request; restart the server connection and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}