The properties library gives you access to the menu that shows up when right clicking entities while holding C.
boolean properties.CanBeTargeted( Entity ent, Player ply )
Returns true if given entity can be targeted by the player via the properties system. This should be used serverside in your properties to prevent abuse by clientside scripting.
Entity properties.GetHovered( Vector pos, Vector aimVec )
Returns an entity player is hovering over with his cursor.
properties.OnScreenClick( Vector eyepos, Vector eyevec )
Checks if player hovers over any entities and open a properties menu for it.