From c105844c089857ac7aa4e0daebf0663ec5ab1956 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 26 Jan 2026 08:03:20 +0000 Subject: [PATCH] fix: update rmcp type aliases to non-deprecated versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renamed deprecated type aliases following rmcp library update: - CallToolRequestParam → CallToolRequestParams - InitializeRequestParam → InitializeRequestParams - PaginatedRequestParam → PaginatedRequestParams Also added required `meta` field to ClientInfo and CallToolRequestParams. Co-Authored-By: Claude Opus 4.5 --- backend/windmill-mcp/src/client/mod.rs | 10 ++++++---- backend/windmill-mcp/src/server/mod.rs | 6 +++--- backend/windmill-mcp/src/server/runner.rs | 16 ++++++++-------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/backend/windmill-mcp/src/client/mod.rs b/backend/windmill-mcp/src/client/mod.rs index 2cac061c5e..548dea5dea 100644 --- a/backend/windmill-mcp/src/client/mod.rs +++ b/backend/windmill-mcp/src/client/mod.rs @@ -11,8 +11,8 @@ use anyhow::{Context, Result}; use reqwest::header::{HeaderMap, HeaderName, HeaderValue}; use rmcp::{ model::{ - CallToolRequestParam, ClientCapabilities, ClientInfo, Implementation, - InitializeRequestParam, Tool as McpTool, + CallToolRequestParams, ClientCapabilities, ClientInfo, Implementation, + InitializeRequestParams, Tool as McpTool, }, service::RunningService, transport::{ @@ -28,7 +28,7 @@ use windmill_common::DB; /// MCP client for communicating with external MCP servers pub struct McpClient { /// The underlying rmcp client - client: RunningService, + client: RunningService, /// Cached list of available tools from the server available_tools: Vec, } @@ -82,6 +82,7 @@ impl McpClient { website_url: None, icons: None, }, + meta: None, }; // Initialize the connection @@ -113,10 +114,11 @@ impl McpClient { let result = self .client - .call_tool(CallToolRequestParam { + .call_tool(CallToolRequestParams { name: name.to_string().into(), arguments: mcp_args, task: None, + meta: None, }) .await .context(format!("Failed to call MCP tool: {}", name))?; diff --git a/backend/windmill-mcp/src/server/mod.rs b/backend/windmill-mcp/src/server/mod.rs index 90e6083435..d489b3f429 100644 --- a/backend/windmill-mcp/src/server/mod.rs +++ b/backend/windmill-mcp/src/server/mod.rs @@ -19,9 +19,9 @@ pub use tools::create_tool_from_item; // Re-export rmcp types for convenience pub use rmcp::handler::server::ServerHandler; pub use rmcp::model::{ - Annotated, CallToolRequestParam, CallToolResult, Content, Implementation, - InitializeRequestParam, InitializeResult, ListPromptsResult, ListResourceTemplatesResult, - ListResourcesResult, ListToolsResult, PaginatedRequestParam, ProtocolVersion, RawContent, + Annotated, CallToolRequestParams, CallToolResult, Content, Implementation, + InitializeRequestParams, InitializeResult, ListPromptsResult, ListResourceTemplatesResult, + ListResourcesResult, ListToolsResult, PaginatedRequestParams, ProtocolVersion, RawContent, RawTextContent, ServerCapabilities, ServerInfo, Tool, ToolAnnotations, }; pub use rmcp::service::{RequestContext, RoleServer}; diff --git a/backend/windmill-mcp/src/server/runner.rs b/backend/windmill-mcp/src/server/runner.rs index 39fbda5c7a..dd65c96334 100644 --- a/backend/windmill-mcp/src/server/runner.rs +++ b/backend/windmill-mcp/src/server/runner.rs @@ -12,9 +12,9 @@ use crate::server::endpoints::endpoint_tool_to_mcp_tool; use crate::server::tools::create_tool_from_item; use rmcp::handler::server::ServerHandler; use rmcp::model::{ - CallToolRequestParam, CallToolResult, Content, Implementation, InitializeRequestParam, + CallToolRequestParams, CallToolResult, Content, Implementation, InitializeRequestParams, InitializeResult, ListPromptsResult, ListResourceTemplatesResult, ListResourcesResult, - ListToolsResult, PaginatedRequestParam, ProtocolVersion, ServerCapabilities, ServerInfo, + ListToolsResult, PaginatedRequestParams, ProtocolVersion, ServerCapabilities, ServerInfo, }; use rmcp::service::{RequestContext, RoleServer}; use rmcp::ErrorData; @@ -97,7 +97,7 @@ impl ServerHandler for Runner { async fn initialize( &self, - _request: InitializeRequestParam, + _request: InitializeRequestParams, _context: RequestContext, ) -> Result { Ok(self.get_info()) @@ -105,7 +105,7 @@ impl ServerHandler for Runner { async fn list_tools( &self, - _request: Option, + _request: Option, context: RequestContext, ) -> Result { let (auth, workspace_id) = Self::extract_context(&context)?; @@ -221,7 +221,7 @@ impl ServerHandler for Runner { async fn call_tool( &self, - request: CallToolRequestParam, + request: CallToolRequestParams, context: RequestContext, ) -> Result { let (auth, workspace_id) = Self::extract_context(&context)?; @@ -349,7 +349,7 @@ impl ServerHandler for Runner { async fn list_resources( &self, - _request: Option, + _request: Option, _context: RequestContext, ) -> Result { Ok(ListResourcesResult { resources: vec![], next_cursor: None, meta: None }) @@ -357,7 +357,7 @@ impl ServerHandler for Runner { async fn list_prompts( &self, - _request: Option, + _request: Option, _context: RequestContext, ) -> Result { Ok(ListPromptsResult::default()) @@ -365,7 +365,7 @@ impl ServerHandler for Runner { async fn list_resource_templates( &self, - _request: Option, + _request: Option, _context: RequestContext, ) -> Result { Ok(ListResourceTemplatesResult::default())