Incoming request headers in passed to callbacks via RequestHandlerExtra<ServerRequest, ServerNotification> #557
+20
−12
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.
Incoming Request headers passed down to callbacks via RequestHandlerExtra
Motivation and Context
An application often times needs access to the original request headers, for example, whenever it is sitting behind a reverse proxy, and the reverse proxy is setting some headers itself.
One practical example: A trace ID / correlation header is generated at the API gateway / reverse proxy later, then passed to the actual remote MCP server. The MCP server needs to utilize the traceparent to store it in logs, etc.
How Has This Been Tested?
SSE and Streamable transport - resources and tools.
Breaking Changes
No breaking changes.
Types of changes
Checklist
Additional context
Adding the headers as "requestHeaders" inside RequestHandlerExtra appears the appropriate place to put this, since it contributes to a non-breaking change.