Skip to content

deps(rmcp): migrate 0.16 -> 1.7 (MCP SDK major)#12

Merged
MichaelAdamGroberman merged 1 commit into
mainfrom
r2-rmcp
Jun 23, 2026
Merged

deps(rmcp): migrate 0.16 -> 1.7 (MCP SDK major)#12
MichaelAdamGroberman merged 1 commit into
mainfrom
r2-rmcp

Conversation

@MichaelAdamGroberman

Copy link
Copy Markdown
Owner

Stacked on the deps/sweep PR (#11). rmcp 0.16->1.7 — the macro/trait major. This server uses the manual ServerHandler trait (not #[tool] macros), so the only code change is 3 now-#[non_exhaustive] structs (Tool/Implementation/ServerInfo) switched to the 1.x builder constructors in server.rs. schemars stays 1.x. cargo check + 6/6 tests green; stdio handshake enumerates all 36 tools.

🤖 Generated with Claude Code

rmcp shipped a 0.x->1.x major. The ServerHandler trait signatures
(get_info/list_tools/call_tool), model types (CallToolResult, Content,
CallToolRequestParams, PaginatedRequestParams, ListToolsResult, Tool fields)
and the ServiceExt/stdio entry point are unchanged in 1.7, so main.rs,
error.rs and all tool modules compile as-is.

The one breaking change that touched code: Tool, Implementation and
ServerInfo (= InitializeResult) are now #[non_exhaustive], so struct-literal
construction from this crate is rejected. Converted to the 1.x constructors
+ with_* builders:
  - Tool { .. }           -> Tool::new(name, desc, Arc<JsonObject>)
  - Implementation { .. } -> Implementation::new(name, version).with_*()
  - ServerInfo { .. }     -> InitializeResult::new(caps).with_*()

schemars kept at 1.x (rmcp 1.7 uses it). cargo check + cargo test --workspace
green (6/6 core tests). stdio initialize + tools/list handshake verified
(36 tools enumerate).
Copilot AI review requested due to automatic review settings June 23, 2026 02:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the MCP Rust SDK dependency (rmcp) from 0.16 to 1.7 and updates server wiring to comply with newly #[non_exhaustive] model types, keeping the server on the manual ServerHandler implementation path.

Changes:

  • Bump rmcp workspace dependency to 1.7.
  • Update Tool, Implementation, and ServerInfo construction in server.rs to use 1.x constructors/builders.
  • Refresh Cargo.lock to reflect the new dependency graph.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
crates/linux-mcp/src/server.rs Switches to Tool::new and ServerInfo/Implementation builder-style construction required by rmcp 1.x non-exhaustive types.
Cargo.toml Updates workspace rmcp version requirement to 1.7.
Cargo.lock Locks updated rmcp/rmcp-macros versions and transitive dependency changes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Cargo.toml

[workspace.dependencies]
rmcp = { version = "0.16", features = ["server", "transport-io", "macros"] }
rmcp = { version = "1.7", features = ["server", "transport-io", "macros"] }
@MichaelAdamGroberman MichaelAdamGroberman changed the base branch from deps/sweep to main June 23, 2026 05:04
@MichaelAdamGroberman MichaelAdamGroberman merged commit 0e02041 into main Jun 23, 2026
2 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.

2 participants