pub async fn fetch_tools(
transport: &ResolvedTransport,
timeout: Duration,
) -> Result<Vec<Tool>, String>Expand description
List a downstream server’s tools over a pooled session (tools/list).
super::pool::acquire guarantees a live session, so the only failure left
is a rare mid-flight transport death; because listing is idempotent we evict
the suspect session and reopen once. A timeout is surfaced (not retried).