Skip to content

Commit bec7c10

Browse files
committed
fix: use builder methods for non-exhaustive rmcp 1.1.0 structs
1 parent 6b68593 commit bec7c10

2 files changed

Lines changed: 16 additions & 35 deletions

File tree

rig/rig-core/examples/rmcp.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -242,16 +242,10 @@ async fn main() -> anyhow::Result<()> {
242242
let transport =
243243
rmcp::transport::StreamableHttpClientTransport::from_uri("http://localhost:8080");
244244

245-
let client_info = ClientInfo {
246-
protocol_version: Default::default(),
247-
capabilities: ClientCapabilities::default(),
248-
client_info: Implementation {
249-
name: "rig-core".to_string(),
250-
version: "0.13.0".to_string(),
251-
..Default::default()
252-
},
253-
meta: None,
254-
};
245+
let client_info = ClientInfo::new(
246+
ClientCapabilities::default(),
247+
Implementation::new("rig-core", "0.13.0"),
248+
);
255249

256250
// Create a shared ToolServer so the MCP handler can update tools at runtime.
257251
let tool_server_handle = ToolServer::new().run();

rig/rig-core/src/tool/rmcp.rs

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)