{"record":{"id":"85ea3bfac7cecb0c","repo":"zeroclaw-labs/zeroclaw","slug":"mcp-servers-i-tool-timeout-secs-exceeds-max-mc","errorCode":null,"errorMessage":"mcp.servers[{i}].tool_timeout_secs exceeds max {MCP_MAX_TOOL_TIMEOUT_SECS}","messagePattern":"mcp\\.servers\\[(.+?)\\]\\.tool_timeout_secs exceeds max (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-config/src/schema.rs","lineNumber":10094,"sourceCode":"                RequiredFieldEmpty,\n                format!(\"mcp.servers[{i}].name\"),\n                \"mcp.servers[{i}].name must not be empty\"\n            );\n        }\n        if !seen_names.insert(name.to_ascii_lowercase()) {\n            anyhow::bail!(\"mcp.servers contains duplicate name: {name}\");\n        }\n\n        if let Some(timeout) = server.tool_timeout_secs {\n            if timeout == 0 {\n                validation_bail!(\n                    InvalidNumericRange,\n                    format!(\"mcp.servers[{i}].tool_timeout_secs\"),\n                    \"mcp.servers[{i}].tool_timeout_secs must be greater than 0\"\n                );\n            }\n            if timeout > MCP_MAX_TOOL_TIMEOUT_SECS {\n                anyhow::bail!(\n                    \"mcp.servers[{i}].tool_timeout_secs exceeds max {MCP_MAX_TOOL_TIMEOUT_SECS}\"\n                );\n            }\n        }\n\n        // The transport -> required-leaf relationship is owned by\n        // `McpTransport::required_leaf`, which feeds the `x-required-by-transport`\n        // schema metadata. The validator matches on the `McpTransport` enum so a\n        // new variant is a compile error here rather than a runtime fall-through.\n        match server.transport {\n            McpTransport::Stdio => {\n                if server.command.trim().is_empty() {\n                    anyhow::bail!(\n                        \"mcp.servers[{i}] with transport=stdio requires non-empty command\"\n                    );\n                }\n            }\n            McpTransport::Http | McpTransport::Sse => {","sourceCodeStart":10076,"sourceCodeEnd":10112,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-config/src/schema.rs#L10076-L10112","documentation":"Error \"mcp.servers[{i}].tool_timeout_secs exceeds max {MCP_MAX_TOOL_TIMEOUT_SECS}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-config/src/schema.rs:10094 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Lower tool_timeout_secs for the MCP server to a value at or below the documented maximum."],"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"}