zeroclaw-labs/zeroclaw · error · anyhow::Error
mcp.servers contains duplicate name: {name}
Error message
mcp.servers contains duplicate name: {name} What it means
Error "mcp.servers contains duplicate name: {name}" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-config/src/schema.rs:10082
anyhow::bail!("plugins.entries contains a duplicate instance key");
}
}
Ok(())
}
fn validate_mcp_config(config: &McpConfig) -> Result<()> {
let mut seen_names = std::collections::HashSet::new();
for (i, server) in config.servers.iter().enumerate() {
let name = server.name.trim();
if name.is_empty() {
validation_bail!(
RequiredFieldEmpty,
format!("mcp.servers[{i}].name"),
"mcp.servers[{i}].name must not be empty"
);
}
if !seen_names.insert(name.to_ascii_lowercase()) {
anyhow::bail!("mcp.servers contains duplicate name: {name}");
}
if let Some(timeout) = server.tool_timeout_secs {
if timeout == 0 {
validation_bail!(
InvalidNumericRange,
format!("mcp.servers[{i}].tool_timeout_secs"),
"mcp.servers[{i}].tool_timeout_secs must be greater than 0"
);
}
if timeout > MCP_MAX_TOOL_TIMEOUT_SECS {
anyhow::bail!(
"mcp.servers[{i}].tool_timeout_secs exceeds max {MCP_MAX_TOOL_TIMEOUT_SECS}"
);
}
}
// The transport -> required-leaf relationship is owned byView on GitHub (pinned to 88bb9c8533)
Solutions
- Rename one of the duplicate mcp.servers entries so each server name is unique.
When it happens
Trigger: Thrown at crates/zeroclaw-config/src/schema.rs:10082 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23).
Data as JSON: /api/errors/1907a3a46b66eb9f.
Report an issue: GitHub.