Repository navigation
Conversation
…rors T3 offered only MCP 2025-06-18, so every client was held to it even when it asked for 2025-11-25, as the Claude app and Claude Code both do. Under 2025-06-18 a tool call with invalid arguments fails as a JSON-RPC InvalidParams error, which the Claude app shows only as a generic "tool call failed", hiding the validation message from the user and the model. Effect already reports these as isError tool results for 2025-11-25, so offer that version and keep 2025-06-18 for older clients.
Contributor
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — The MCP transport now enables 2025-11-25 by default, changing protocol negotiation and the user-visible handling of invalid tool arguments while preserving the legacy version. The focused regression test covers both paths, but the default production behavior change requires human review. You can add or adjust custom eligibility rules. Learn more. |
Contributor
Member
|
Taking over this one. I’ll reduce the tests to the useful coverage, update the implementation against current main, and verify it before publishing the changes. |
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This branch has not been deployed
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.
MCP clients requesting protocol 2025-11-25 are negotiated down to 2025-06-18, where invalid tool arguments return a JSON-RPC error that some clients show without the validation details.
Offer the supported 2025-11-25 adapter alongside 2025-06-18. Newer clients receive the validation message as an
isErrortool result; clients requesting 2025-06-18 keep its existing-32602response. The first offered version also becomes the fallback for unsupported initialize versions. Tool definitions, handlers, authentication, and access controls are unchanged.Based on the original fix by @mfazekas in #18490. This replaces the approach in #18098; 2026-07-28
server/discoversupport in #16067 remains outside scope.Scope and approval
This is a focused fix to the pinned MCP protocol list, using the newer adapter already shipped by Effect while retaining the legacy adapter. Maintainer takeover and publication were explicitly authorized in this campaign; the takeover notice records ownership. That authorization does not approve landing. Macroscope's Needs Human Approval verdict, represented by the NEUTRAL Approvability check on the previous head, remains a human landing gate. It has not been waived or satisfied by the takeover or the independent code reviews.
Verification
The reviewed head b3e239b2ad preserves the contributor's commits and merges main at 62144bf0f8. Recorded checks on that head:
McpHttpServer.test.tsHTTP tests passed.No UI change or screenshots are required. No live Claude client session was run during this takeover. These are local verification results; GitHub CI and configured reviews must be checked for the published head before landing. Historical checks on the previous head do not certify this head.
Taken over with Claude Opus 5.5 (tests and review), Claude Fable 5.1 (implementation), and GPT-6.1 Sol (review) through T3 Code; publication coordinated with GPT-6.1 Sol in the Codex harness.