@@ -119,11 +119,12 @@ impl ToolDyn for McpTool {
119119 Box :: pin ( async move {
120120 let result = self
121121 . client
122- . call_tool ( rmcp:: model:: CallToolRequestParams {
123- name,
124- arguments,
125- meta : None ,
126- task : None ,
122+ . call_tool ( {
123+ let mut params = rmcp:: model:: CallToolRequestParams :: new ( name) ;
124+ if let Some ( args) = arguments {
125+ params = params. with_arguments ( args) ;
126+ }
127+ params
127128 } )
128129 . await
129130 . map_err ( |e| McpToolError ( format ! ( "Tool returned an error: {e}" ) ) ) ?;
@@ -371,16 +372,8 @@ mod tests {
371372
372373 impl ServerHandler for DynamicToolServer {
373374 fn get_info ( & self ) -> ServerInfo {
374- ServerInfo {
375- protocol_version : ProtocolVersion :: V_2024_11_05 ,
376- capabilities : ServerCapabilities :: builder ( ) . enable_tools ( ) . build ( ) ,
377- server_info : Implementation {
378- name : "test-dynamic-server" . to_string ( ) ,
379- version : "0.1.0" . to_string ( ) ,
380- ..Default :: default ( )
381- } ,
382- instructions : None ,
383- }
375+ ServerInfo :: new ( ServerCapabilities :: builder ( ) . enable_tools ( ) . build ( ) )
376+ . with_server_info ( Implementation :: new ( "test-dynamic-server" , "0.1.0" ) )
384377 }
385378
386379 async fn list_tools (
@@ -520,16 +513,10 @@ mod tests {
520513
521514 #[ tokio:: test]
522515 async fn test_mcp_client_handler_get_info_delegates ( ) {
523- let client_info = ClientInfo {
524- protocol_version : Default :: default ( ) ,
525- capabilities : ClientCapabilities :: default ( ) ,
526- client_info : Implementation {
527- name : "test-client" . to_string ( ) ,
528- version : "1.0.0" . to_string ( ) ,
529- ..Default :: default ( )
530- } ,
531- meta : None ,
532- } ;
516+ let client_info = ClientInfo :: new (
517+ ClientCapabilities :: default ( ) ,
518+ Implementation :: new ( "test-client" , "1.0.0" ) ,
519+ ) ;
533520
534521 let tool_server_handle = ToolServer :: new ( ) . run ( ) ;
535522 let handler = McpClientHandler :: new ( client_info. clone ( ) , tool_server_handle) ;
0 commit comments