Update rmcp to 3.1.1 and reduce JWT dependencies - #77
Merged
Conversation
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
dawid-nowak
approved these changes
Aug 7, 2026
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.
Summary
rmcpandrmcp-macrosfrom 3.0.1 to 3.1.1 while retaining the existing RMCP feature setcargo updateto the latest versions compatible with the workspace's Rust 1.96 MSRVjsonwebtoken10/11 onto workspace-managed 11.0.0 and use its AWS-LC backend, which is already present through rustlsRUSTSEC-2023-0071advisory exceptionfullwith the runtime features the workspace useswebpki-rootslicense exception and tighten the remaining Goose/gumdrop advisory rationaleWhy
RMCP 3.1.1 contains the current 2026-07-28 protocol fixes. The dependency audit also found that the gateway's JWT production and test paths used two jsonwebtoken versions with the RustCrypto backend. Reusing the existing AWS-LC backend preserves RS256/RS384/RS512 and HMAC behavior while removing the unpatched
rsacrate affected by the Marvin timing advisory.Tokio was already resolved at the latest 1.53.1, but the workspace manifest still requested 1.48.0 with
full. Declaring the six runtime features used by the workspace removesparking_lot,parking_lot_core, andredox_syscallwithout removing application behavior.The full all-features graph drops from 434 to 402 third-party packages (32 fewer).
cargo shearandcargo machetefound no unused direct dependencies. Nightlycargo update --breakingandcargo outdated --root-deps-onlyfound no eligible direct dependency upgrades. The remainingRUSTSEC-2026-0214exception is transitive through the load-test-only Goose crate; removing it requires a separate load-test migration.Impact
No gateway API or MCP feature is removed. Existing RMCP auth and elicitation features remain enabled. JWT algorithms and validation behavior are unchanged.
Validation
cargo +1.96 check --locked --workspace --all-targets --all-featurescargo fmt --all --checkcargo clippy --locked --workspace --all-targets -- -D warningscargo nextest run --locked --workspace— 88 passedcargo build --locked --workspacecargo bench --locked --workspace --no-runcargo deny check advisories bans licensescargo shear --check-test-targets --deny-warnings --lockedcargo machetecargo audit— 0 vulnerabilities; 2 allowed informational warnings