From 8f7d3bd13c1c1e914d6fbe20ef5b51b3d9c25a6d Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Mon, 20 Apr 2026 13:50:34 -0600 Subject: [PATCH] fix: upgraded to newer rmcp version to get native-tls support --- Cargo.lock | 12 ++++++++---- Cargo.toml | 2 +- src/config/tool_scope.rs | 9 ++------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b9c03cd..98e2d1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4467,15 +4467,19 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "hyper 1.9.0", + "hyper-tls", "hyper-util", "js-sys", "log", + "native-tls", "percent-encoding", "pin-project-lite", + "rustls-pki-types", "serde", "serde_json", "sync_wrapper", "tokio", + "tokio-native-tls", "tokio-util", "tower", "tower-http", @@ -4528,9 +4532,9 @@ dependencies = [ [[package]] name = "rmcp" -version = "0.16.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4c9c94680f75470ee8083a0667988b5d7b5beb70b9f998a8e51de7c682ce60" +checksum = "67d69668de0b0ccd9cc435f700f3b39a7861863cf37a15e1f304ea78688a4826" dependencies = [ "async-trait", "base64", @@ -4555,9 +4559,9 @@ dependencies = [ [[package]] name = "rmcp-macros" -version = "0.16.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90c23c8f26cae4da838fbc3eadfaecf2d549d97c04b558e7bd90526a9c28b42a" +checksum = "48fdc01c81097b0aed18633e676e269fefa3a78ec1df56b4fe597c1241b92025" dependencies = [ "darling 0.23.0", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index d0b7585..ed5a90d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -89,7 +89,7 @@ duct = "1.0.0" argc = "1.23.0" strum_macros = "0.27.2" indoc = "2.0.6" -rmcp = { version = "0.16.0", features = ["client", "transport-child-process", "transport-streamable-http-client-reqwest"] } +rmcp = { version = "1.5.0", features = ["client", "transport-child-process", "transport-streamable-http-client-reqwest", "reqwest-native-tls"] } num_cpus = "1.17.0" tree-sitter = "0.26.8" tree-sitter-language = "0.1" diff --git a/src/config/tool_scope.rs b/src/config/tool_scope.rs index b499b23..202f645 100644 --- a/src/config/tool_scope.rs +++ b/src/config/tool_scope.rs @@ -25,7 +25,6 @@ use anyhow::{Context, Result, anyhow}; use bm25::{Document, Language, SearchEngineBuilder}; use rmcp::model::{CallToolRequestParams, CallToolResult}; use serde_json::{Value, json}; -use std::borrow::Cow; use std::collections::HashMap; use std::sync::Arc; @@ -160,12 +159,8 @@ impl McpRuntime { .cloned() .with_context(|| format!("Invoked MCP server does not exist: {server}"))?; - let request = CallToolRequestParams { - name: Cow::Owned(tool.to_owned()), - arguments: arguments.as_object().cloned(), - meta: None, - task: None, - }; + let mut request = CallToolRequestParams::new(tool.to_owned()); + request.arguments = arguments.as_object().cloned(); server_handle.call_tool(request).await.map_err(Into::into) }