Scope MCP tool-context metadata forwarding per server - #6792
Open
dimitarproynov wants to merge 1 commit into
Open
Scope MCP tool-context metadata forwarding per server#6792dimitarproynov wants to merge 1 commit into
dimitarproynov wants to merge 1 commit into
Conversation
ToolContextToMcpMetaConverter.convert(ToolContext) had no way to know which MCP server a call was headed to, so any converter forwarding sensitive ToolContext entries (auth tokens, user identifiers) sent them to every registered MCP server, not just the ones that needed them. Add a default convert(ToolContext, McpConnectionInfo) method, mirroring how McpToolFilter already scopes tool discovery per connection, so a converter can decide what to forward based on the destination server. The single-arg method remains and existing implementations keep working unchanged through the new default. SyncMcpToolCallback and AsyncMcpToolCallback now call the connection-aware overload, using new McpConnectionInfo.from(...) factory methods that also replace duplicated construction logic in both tool callback providers. Signed-off-by: Dimitar Proynov <dimitar.proynov@broadcom.com>
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.
ToolContextToMcpMetaConverter.convert(ToolContext) had no way to know which MCP server a call was headed to, so any converter forwarding sensitive ToolContext entries (auth tokens, user identifiers) sent them to every registered MCP server, not just the ones that needed them.
Add a default convert(ToolContext, McpConnectionInfo) method, mirroring how McpToolFilter already scopes tool discovery per connection, so a converter can decide what to forward based on the destination server. The single-arg method remains and existing implementations keep working unchanged through the new default.
SyncMcpToolCallback and AsyncMcpToolCallback now call the connection-aware overload, using new McpConnectionInfo.from(...) factory methods that also replace duplicated construction logic in both tool callback providers.