I've looked around and can't find any answers to this but I find that when you use Tool.Activated on either a local or server script, the script runs fine but i was wondering if the activation registers by a remote event for the server script or if there's something hidden that I don't know about.
As far as I'm concerned, Tool.Activated can be called from both local and server script, it's just what you put it in makes the difference (local script makes changes on the client side while server script replicates it to all clients in a server)