How would I do this?
--LocalScript-
--Gets Mouse
--Sends Mouse Position
--ServerScript-
--Recieves Mouse Position
--Uses it for blah blah blah.
This is what I tried but It didnt work.
-LocalScript-
Remote = game:GetService('ReplicatedStorage'):WaitForChild('RemoteFolder'):WaitForChild('RemoteFunction')
local Player = game.Players.LocalPlayer
mouse = Player:GetMouse()
MousePosition = mouse.Hit.p
Remote:InvokeServer(MousePosition)
-ServerScript-
Remote = game:GetService('ReplicatedStorage'):WaitForChild('RemoteFolder'):WaitForChild('RemoteFunction')
Remote.OnServerInvoke = function(player, MousePosition)
a = Instance.new('Part')
a.Position = MousePosition
end

3 comments
I would ask those who are moderating to have some common sense. He has demonstrated he has a real problem and has tried to fix it and has provided code. There is no rule violation here.
You can simply send the mouse.Hit.p which is a Vector3 and not an instance.
@lukeb50 Exactly why I later edited and quickly put code of what was an error in my script. I know 'a.Parent' is supposed to be workspace. I was rushing for the matter of not getting my question deleted.