Skip to main content
HTTP status: 400

Error message

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:
If you genuinely need two MCP servers for related capabilities, distinguish them semantically (docsv1, docsv2) rather than reusing one alias.