As far as I’m aware, there is no official documentation on this subject. There are a number of different ways to go depending on your specific router/spindle and your setup. There are, however, a few topics on this forum that explore different aspects of router/spindle control.
A majority of MPCNC owners use routers, so rpm is controlled by manually setting a dial on the router. In this case, if there is any integrated control, it is just to turn the router on and off. I cover the different relay solutions and triggering methods in this post.
If you have a spindle with a VFD, things get more interesting. It is possible to control the RPM from the Marlin control board, but there are some hoops to jump through, and the specifics will depend on what VFD you are running. The biggest issue for most VFDs is that they expect 10V in, and controls boards don’t provide this directly.
As for emergency stop, I suggest you have a design goal of a single button that turns off both the control board and the router/spindle. If you are using a relay then you can just interrupt 12V and everything should shut down. Without a relay, something that interrupts MAINS power (120 AC) is required. Mounting a power strip used by both router and the control board such that the power button is easily reached will work. Another reference post.