From 6c393dca0570064fbe01d6dc54a7874ec26e4259 Mon Sep 17 00:00:00 2001 From: oudecheng <13802883547@139.com> Date: Wed, 8 Jul 2026 10:56:25 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E5=B0=86=20rmcp=20=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E4=BB=8E=20git=20branch=20=E8=BF=81=E7=A7=BB=E5=88=B0=20crates?= =?UTF-8?q?.io=20=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cargo.toml: rmcp 从 git="...rust-sdk", branch="main" 改为 version="1.7" (semver 解析为 1.8.0,最新兼容 1.x 版本) - src/mcp/client.rs: 适配 rmcp 1.8+ API 变更 peer_info() 返回类型从 Option 变为 Option>, 使用 .map(|arc| arc.as_ref().clone()) 替代 .cloned() 解决 git branch 依赖带来的问题:构建不可复现、供应链安全风险、 版本语义模糊、升级路径不清晰、CI 构建性能损耗。 --- Cargo.toml | 2 +- src/mcp/client.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d80eb5d..42f362d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,7 +50,7 @@ windows-sys = { version = "0.59", features = [ "Win32_System_Kernel", ] } # MCP (Model Context Protocol) support -rmcp = { git = "https://github.com/modelcontextprotocol/rust-sdk", branch = "main", features = [ +rmcp = { version = "1.7", features = [ "client", "transport-child-process", "transport-streamable-http-client-reqwest", diff --git a/src/mcp/client.rs b/src/mcp/client.rs index 0f4f440..73ecddf 100644 --- a/src/mcp/client.rs +++ b/src/mcp/client.rs @@ -252,8 +252,8 @@ impl McpClientManager { } }; - // Get server info (returns Option<&ServerInfo>) - let info = client.peer_info().cloned(); + // Get server info (returns Option> in rmcp 1.8+) + let info = client.peer_info().map(|arc| arc.as_ref().clone()); // List available tools let tools = client.list_all_tools().await?;