Conversation
Contributor
Collaborator
|
Closing with a maintainer ruling rather than a quality verdict. Tool |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Keep MCP tool-level
isErrorresults out of the per-server transport circuit breaker.An
isErrorresult arrives only after a completed RPC round-trip, so it proves the transport is healthy. The current outer handler serializes that result to{"error": ...}, sees the genericerrorkey, and increments_server_error_counts. Three ordinary validation/domain errors can therefore make a healthy server report "unreachable" for the cooldown period.The handler now records when the error came from the MCP tool itself and resets the transport breaker for that completed round-trip. Transport exceptions continue to increment and open the breaker.
Tests