For the effort start, I have come across reasonable RDP stuff from the FreeRDP project as well as OGON.
FreeRDP (https://www.freerdp.com/)
OGON (https://github.com/ogon-project/ogon)
The FreeRDP project has a simplified shadow server that might be used as the basis for an RDP server and the OGON project as a similar, but more advanced, type server that also allows for plugable modules in that it could be used for RDP and even SPICE in the future, if I remember correctly while I think that they have VNC already coded up.
My thoughts are to find out where XCP-ng currently handles all of the VNC stuff for the hypervisor which I think that @olivierlambert just sent the link so as to see if it might be possible to build out probably the OGON server from there to allow supporting the VNC, RDP, and SPICE multiple protocols.
I will take some time, but if all goes well then the user should be able to connect to any of the VM consoles (Linux, Windows, etc.) with any of these protocols and not have to do it from within the Guest VM.
At least that is goal
Cheers