Good breakdown of the routing problem. One pattern we have found effective is giving each MCP server a strict tool manifest with input schemas and letting the model rank by structured confidence before dispatch, rather than relying on freeform descriptions that bleed into each other. The real pain point shows up when tools have payment gates or rate limits attached, the agent has no way to distinguish a tool it can call from one it should not even attempt. Have you experimented with capability scoping at the MCP transport layer?
