Skip to content

fix(java): preserve MCP permission extension data - #2276

Merged
SteveSandersonMS merged 3 commits into
github:mainfrom
rinceyuan:fix/java-permission-extension-data
Aug 6, 2026
Merged

fix(java): preserve MCP permission extension data#2276
SteveSandersonMS merged 3 commits into
github:mainfrom
rinceyuan:fix/java-permission-extension-data

Conversation

@rinceyuan

Copy link
Copy Markdown
Contributor

Summary

Preserve MCP-specific permission request fields in Java PermissionRequest.extensionData.

Jackson previously ignored unknown fields such as serverName, toolName, and nested args, preventing permission handlers from making scoped approval decisions. A private @JsonAnySetter now captures those fields lazily without changing the existing null behavior when no extension fields are present.

Tests

  • Added an MCP-shaped deserialization regression test covering serverName, toolName, and args.url.
  • mvnw.cmd test -Dtest=DataObjectCoverageTest -Denforcer.skip=true -Pskip-test-harness (28 tests passed)
  • Changed-file Spotless check passed
  • Checkstyle passed with 0 violations

Fixes #2273.

@rinceyuan
rinceyuan requested a review from a team as a code owner August 6, 2026 09:44
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@SteveSandersonMS
SteveSandersonMS added this pull request to the merge queue Aug 6, 2026
Merged via the queue into github:main with commit 9c91ad8 Aug 6, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Java: preserve MCP fields in PermissionRequest extensionData

2 participants