External MCP servers are often shared or unreliable. A few slow or failing calls can consume agent rounds and keep retries aimed at the same server. It would help to add per-server and global concurrency limits, a failure threshold with cooldown, cancellation while waiting for a slot, and clear status for an open circuit versus a tool failure. A small set of conservative defaults would make this useful out of the box while keeping the limits configurable. I have exercised this approach locally and can prepare a focused PR if it fits the project direction.
External MCP servers are often shared or unreliable. A few slow or failing calls can consume agent rounds and keep retries aimed at the same server. It would help to add per-server and global concurrency limits, a failure threshold with cooldown, cancellation while waiting for a slot, and clear status for an open circuit versus a tool failure. A small set of conservative defaults would make this useful out of the box while keeping the limits configurable. I have exercised this approach locally and can prepare a focused PR if it fits the project direction.