///|
/// Fetch discovery without discarding cache hints, instructions or open metadata.
pub async fn MCPClient::discover_result(
self : MCPClient,
) -> @types.DiscoverResult {
let request = build_discover_request(
self.next_request_id(),
self.request_meta(),
)
let response = match self.backend {
Modern => self.send_request(request)
Legacy(legacy) =>
legacy.send_raw(
apply_legacy_meta_to_request(request, build_legacy_meta()),
)
}
let value = parse_jsonrpc_response(response)
let result = @types.DiscoverResult::from_json(value)
self.server_capabilities = Some(result.capabilities)
self.server_info = parse_server_info_from_result(value)
result
}