(mcp: &Arc<McpManager>)
| 254 | } |
| 255 | |
| 256 | fn fetch_session_mcp_tools(mcp: &Arc<McpManager>) -> Vec<(String, McpTool)> { |
| 257 | match tokio::runtime::Handle::try_current() { |
| 258 | Ok(handle) => tokio::task::block_in_place(|| handle.block_on(mcp.get_all_tools())), |
| 259 | Err(_) => { |
| 260 | tracing::warn!( |
| 261 | "No async runtime available for session-level MCP tools - MCP tools will not be registered" |
| 262 | ); |
| 263 | vec![] |
| 264 | } |
| 265 | } |
| 266 | } |
| 267 | |
| 268 | fn group_mcp_tools_by_server(all_tools: Vec<(String, McpTool)>) -> HashMap<String, Vec<McpTool>> { |
| 269 | let mut by_server = HashMap::new(); |
no test coverage detected