Create tool wrappers for all tools from an MCP server
(
server_name: &str,
tools: Vec<McpTool>,
manager: Arc<McpManager>,
)
| 81 | |
| 82 | /// Create tool wrappers for all tools from an MCP server |
| 83 | pub fn create_mcp_tools( |
| 84 | server_name: &str, |
| 85 | tools: Vec<McpTool>, |
| 86 | manager: Arc<McpManager>, |
| 87 | ) -> Vec<Arc<dyn Tool>> { |
| 88 | tools |
| 89 | .into_iter() |
| 90 | .map(|tool| { |
| 91 | Arc::new(McpToolWrapper::new( |
| 92 | server_name.to_string(), |
| 93 | tool, |
| 94 | manager.clone(), |
| 95 | )) as Arc<dyn Tool> |
| 96 | }) |
| 97 | .collect() |
| 98 | } |
| 99 | |
| 100 | #[cfg(test)] |
| 101 | mod tests { |