More than 400 migrants have been rescued from the Mediterranean by a vessel run by the medical charity Medecins Sans Frontieres (MSF).