Skip to content

chore(deps): bump rmcp from 2.2.0 to 3.0.1 - #670

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rmcp-3.0.1
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rmcp-3.0.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 30, 2026

Copy link
Copy Markdown
Contributor

Bumps rmcp from 2.2.0 to 3.0.1.

Release notes

Sourced from rmcp's releases.

rmcp-macros-v3.0.1

Other

  • release stable 3.0.0

rmcp-v3.0.1

Fixed

  • (auth) use discovered resource for token refresh (#1084)
  • return header mismatch for missing protocol header (#1083)
  • negotiate stateless initialize versions (#1080)
  • stamp server info on graceful subscription results (#1078)

rmcp-macros-v3.0.0

Other

  • release stable 3.0.0

rmcp-v3.0.0

RMCP 3.0 adds support for MCP 2026-07-28. Review the protocol key changes and the RMCP 3.0 migration guide before upgrading from 2.x.

Breaking changes

  • Sessionless Streamable HTTP: MCP 2026-07-28 removes protocol-level sessions: no Mcp-Session-Id, standalone GET stream, DELETE-based session termination, or Last-Event-ID resumption. RMCP creates a fresh handler per request, so persistent state must live outside the handler. stateful_mode is renamed to legacy_session_mode and now only controls older protocol versions; custom SSE clients must also accept an optional session ID.
  • Stateless lifecycle and discovery: the 2026-07-28 protocol removes initialize/notifications/initialized; each request carries the protocol version and client capabilities in _meta, and servers expose server/discover. RMCP clients opt into this lifecycle with serve_with_lifecycle and ClientLifecycleMode::Discover or Auto; the existing serve() path remains available for legacy initialization.
  • Subscriptions and removed methods: subscriptions/listen replaces the standalone GET stream and resources/subscribe/resources/unsubscribe. ping, logging/setLevel, and notifications/roots/list_changed are unavailable under 2026-07-28; RMCP retains their APIs for legacy protocol sessions.
  • Multi Round-Trip Requests and result types: ServerHandler::call_tool, get_prompt, and read_resource now return MRTR-aware response enums. Manual handler implementations and exhaustive ServerResult matches must handle InputRequiredResult, and result models carry an optional result_type for legacy wire compatibility.
  • Tasks: the experimental core tasks API is replaced by the io.modelcontextprotocol/tasks extension, including new task handlers, methods, and TaskManager APIs.
  • Rust model types: metadata is split into MetaObject, RequestMetaObject, and NotificationMetaObject; Annotations::last_modified is now Option<String>; and tool structured content accepts any serde_json::Value.
  • OAuth: authorization startup is consolidated around AuthorizationRequest; metadata discovery is renamed to resolve_metadata and returns provenance; and custom OAuth HTTP errors are now boxed source errors.
  • Compatibility: APIs deprecated before 3.0 have been removed, and the minimum supported Rust version is now 1.88.

What's Changed

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [rmcp](https://github.com/modelcontextprotocol/rust-sdk) from 2.2.0 to 3.0.1.
- [Release notes](https://github.com/modelcontextprotocol/rust-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/rust-sdk/blob/main/release-plz.toml)
- [Commits](modelcontextprotocol/rust-sdk@rmcp-v2.2.0...rmcp-v3.0.1)

---
updated-dependencies:
- dependency-name: rmcp
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 30, 2026
@dependabot
dependabot Bot requested a review from coseto6125 as a code owner July 30, 2026 17:43
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor
ecp impact cache (0 symbols) — internal, used by ecp dev pr-analyze

[]

@github-actions github-actions Bot added the ecp:risk-low ecp signal label Jul 30, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #673.

@dependabot dependabot Bot closed this Aug 3, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/rmcp-3.0.1 branch August 3, 2026 17:44
coseto6125 added a commit that referenced this pull request Aug 5, 2026
* chore(deps): migrate to rmcp 3.1 and refresh the lockfile

Dependabot could not land this one on its own — #668 (3.0.0), #670 (3.0.1)
and #673 (3.1.0) all stalled on the same compile break.

rmcp 3.0 tracks MCP 2026-07-28. The only break reaching this crate is
SEP-2322 MRTR: `ServerHandler::call_tool` now returns `CallToolResponse`
(`Complete` / `InputRequired` / `Task`) instead of `CallToolResult`.
`ecp mcp serve` is spawn-mode only, so every call runs the subcommand to
completion and resolves as `Complete`; the migration is the
`From<CallToolResult>` conversion at the single return site.

The rest of the 3.0 breaking list is inapplicable here: sessionless
Streamable HTTP, the stateless discovery lifecycle, subscriptions and the
tasks extension are HTTP-transport or client-side concerns, and this
server is stdio + `serve_server`.

`cargo update` alongside brings the rest of the tree to latest compatible.

* refactor: use regex! for the two hand-rolled lazy Regex accessors

regex 1.13 ships a `regex!` macro that expands to exactly the
`static Lazy<Regex>` shape these two accessors were writing by hand.
Semantics are identical (process-lifetime lazy compilation), so this is
boilerplate removal, not a perf change.

Left alone deliberately: the module-level named statics in `fetch_shape/`
carry doc comments and long patterns. Inlining those into their call sites
would bury a 100-char pattern inside a `for` header and drop the
documentation.

The `regex` floor moves to 1.13.0 in the two crates using the macro.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ecp:risk-low ecp signal rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants