{"record":{"id":"9165a375ae24f484","repo":"zeroclaw-labs/zeroclaw","slug":"mcp-servers-i-url-must-use-http-https","errorCode":null,"errorMessage":"mcp.servers[{i}].url must use http/https","messagePattern":"mcp\\.servers\\[(.+?)\\]\\.url must use http/https","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-config/src/schema.rs","lineNumber":10140,"sourceCode":"                            ::zeroclaw_log::Event::new(\n                                module_path!(),\n                                ::zeroclaw_log::Action::Reject\n                            )\n                            .with_outcome(::zeroclaw_log::EventOutcome::Failure)\n                            .with_attrs(::serde_json::json!({\n                                \"index\": i,\n                                \"transport\": transport_str,\n                            })),\n                            \"mcp.servers entry rejected: transport requires url\"\n                        );\n                        anyhow::Error::msg(format!(\n                            \"mcp.servers[{i}] with transport={transport_str} requires url\"\n                        ))\n                    })?;\n                let parsed = reqwest::Url::parse(url)\n                    .with_context(|| format!(\"mcp.servers[{i}].url is not a valid URL\"))?;\n                if !matches!(parsed.scheme(), \"http\" | \"https\") {\n                    anyhow::bail!(\"mcp.servers[{i}].url must use http/https\");\n                }\n                if let Some(ca_path) = server.tls_ca_cert_path.as_deref() {\n                    if ca_path.trim().is_empty() {\n                        validation_bail!(\n                            RequiredFieldEmpty,\n                            format!(\"mcp.servers[{i}].tls_ca_cert_path\"),\n                            \"mcp.servers[{i}].tls_ca_cert_path must not be empty\"\n                        );\n                    }\n                    if !std::path::Path::new(ca_path).is_absolute() {\n                        anyhow::bail!(\"mcp.servers[{i}].tls_ca_cert_path must be an absolute path\");\n                    }\n                    if parsed.scheme() != \"https\" {\n                        anyhow::bail!(\n                            \"mcp.servers[{i}].url must use https when tls_ca_cert_path is set\"\n                        );\n                    }\n                }","sourceCodeStart":10122,"sourceCodeEnd":10158,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-config/src/schema.rs#L10122-L10158","documentation":"Error \"mcp.servers[{i}].url must use http/https\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-config/src/schema.rs:10140 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Change the MCP server URL scheme to http or https."],"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"}