Repository navigation
mcp: expose the JSON-RPC request id to receiving middleware - #1464
Merged
guglielmo-san merged 3 commits intoOct 28, 2026
Merged
Conversation
Add GetID to the Request interface and an ID field to ClientRequest and ServerRequest, populated from the incoming JSON-RPC request. Receiving middleware can now read the id of a call and gets the zero id for a notification. Preserve the id when multi-round-trip retries rebuild the request. Updates modelcontextprotocol#1264.
guglielmo-san
approved these changes
Oct 28, 2026
Contributor
|
@xianshujun thank you for the contribution! |
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.
Adds
Request.GetIDand anIDfield onClientRequest/ServerRequest, populated from the incoming JSON-RPC request inhandleReceive. Receiving middleware can now read the id of a call, and gets the zero ID for a notification or an SDK-originated request. The id is preserved when multi-round-trip retries rebuild the request.Tests cover server and client receiving middleware, the zero ID on notifications, and the MRTR rebuild path.
go test ./...passesgo vet ./...passesCompatibility note: adding the exported
IDfield can break an unkeyed composite literal ofClientRequest/ServerRequest;go vetfound none in this repository.Fixes #1264.