Skip to main content
HTTP status: 400

Error message

duplicate mcp_server aliases (must be unique): {dupes}

When this error occurs

Aliases namespace each MCP server’s tools — when the model emits a call like {alias}-{tool_name}, the workflow routes by alias. Two MCP servers with the same alias would make routing ambiguous, so the API rejects them up front. Caller-declared tools (in top-level tools[]) have no alias — the dash in the wire name is the routing discriminator. Uniqueness only matters within mcp_servers[].

How to fix

Pick distinct aliases for each MCP server:
{
  "mcp_servers": [
    { "alias": "docs", ... },
    { "alias": "wiki", ... }
  ]
}
If you genuinely need two MCP servers for related capabilities, distinguish them semantically (docsv1, docsv2) rather than reusing one alias.