{"record":{"id":"6091a859fc90eca7","repo":"openai/codex","slug":"mcp-event-request-meta-must-be-a-json-object-got","errorCode":null,"errorMessage":"MCP event request _meta must be a JSON object, got {other}","messagePattern":"MCP event request _meta must be a JSON object, got (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/core/src/codex_thread.rs","lineNumber":895,"sourceCode":"            .session\n            .services\n            .mcp_runtime\n            .read_resource_for_call(self.session.thread_id, call_id, uri)\n            .await?;\n\n        Ok(serde_json::to_value(result)?)\n    }\n\n    pub async fn start_mcp_event_stream(\n        &self,\n        name: &str,\n        arguments: serde_json::Value,\n        meta: Option<serde_json::Value>,\n    ) -> anyhow::Result<codex_mcp::McpEventStream> {\n        let meta = match meta.as_ref() {\n            Some(serde_json::Value::Object(meta)) => Some(meta),\n            Some(other) => {\n                anyhow::bail!(\"MCP event request _meta must be a JSON object, got {other}\")\n            }\n            None => None,\n        };\n        let _ = self.session.services.auth_manager.auth().await;\n        self.session.refresh_mcp_if_dirty().await;\n        codex_mcp::McpResourceClient::new(Arc::clone(&self.session.services.mcp_runtime))\n            .open_event_stream(name, &arguments, meta)\n            .await\n    }\n\n    pub async fn call_mcp_tool(\n        &self,\n        server: &str,\n        tool: &str,\n        arguments: Option<serde_json::Value>,\n        meta: Option<serde_json::Value>,\n    ) -> anyhow::Result<CallToolResult> {\n        self.session.refresh_mcp_if_dirty().await;","sourceCodeStart":877,"sourceCodeEnd":913,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/core/src/codex_thread.rs#L877-L913","documentation":"Error \"MCP event request _meta must be a JSON object, got {other}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/core/src/codex_thread.rs:895 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Send the MCP event request `_meta` as a JSON object."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}