plan: Upgrade to the 07-28-2026 mcp spec - #281
plan: Upgrade to the 07-28-2026 mcp spec#281contextbridge-pr-automation[bot] wants to merge 3 commits into
Conversation
Maps the rmcp 1.7.0 -> 3.0.0 (2026-07-28 spec) migration: type realignment, stateless client lifecycle, MRTR input handling on the client, SEP-2549 list caching, and OAuth hardening; with per-crate steps and a test plan.
|
/aether implement the plan |
|
Aether did not finish. See the run. |
|
/aether implement the plan |
|
Aether did not finish. See the run. |
|
/aether implement the plan |
Upgrades rmcp from 1.7.0 to 3.0.0-beta.2, implementing the migration plan in docs/aether/plans/issue-280-plan.md. Phase 1 — compile against rmcp 3: - Rename elicitation types (ElicitRequestParams, ElicitResult), Content to ContentBlock, PromptMessageRole to Role, PrimitiveSchema to PrimitiveSchemaDefinition across the workspace. - Adopt non-exhaustive builders (ElicitResult::new, ProgressNotificationParam, ListToolsResult::with_all_items) and wildcard match arms. - call_tool/get_prompt now return CallToolResponse/GetPromptResponse; the URL elicitation completion notification routes through on_custom_notification. - Auth uses resolve_metadata (RFC 9728 protected-resource discovery). Phase 2 — adopt the new spec: - Handle remote MRTR InputRequiredResult: surface inputs through the existing elicitation channel and retry with inputResponses plus the echoed requestState (capped at 5 rounds). - Switch the client to the modern lifecycle (server/discover with an initialize fallback) so connections negotiate 2026-07-28, enabling MRTR and other stateless features. - Enable rmcp's SEP-2549 client-side response cache for list requests. - Add the request-state rmcp feature to the client crates. Tests: new mrtr_tests.rs covers the MRTR round-trip and retry cap; the existing OAuth mock is updated for protected-resource discovery. All 3134 workspace tests pass.
|
The migration is complete and committed. Here's a summary of what I implemented from the plan in SummaryUpgraded Phase 1 — Compile against rmcp 3 (34 files): mechanical type realignment verified against the actual rmcp 3 API (not just the plan's assumptions). Key changes: elicitation renames ( Phase 2 — Adopt the new spec:
Phase 3: docs verified clean; release-plz handles per-crate changelogs. Verification: @jcarper989 Done — implemented the full plan (commit One notable deviation from the plan worth flagging: Pushed to |
Closes #280
Aether planned issue #280. Review the plan inline, reply with
@aetherto revise it,and comment
@aether implementto build it on this branch.Run: https://github.com/contextbridge/aether/actions/runs/30237672710