This paper presents a multi-unmanned aerial vehicle (UAV)-assisted mobile edge computing (MEC) system, where multiple UAVs are used to serve mobile users (MUs). We aim to minimize the overall energy consumption of the system by planning the trajectories of UAVs. To plan the trajectories of UAVs, we need to consider the deployment of hovering points (HPs) of UAVs, their association with UAVs, and their order for each UAV. Therefore, the problem is very complicated, as it is non-convex, nonlinear, NP-hard, and mixed-integer. To solve the problem, this paper proposed an evolutionary trajectory planning algorithm (ETPA), which comprises three phases. In the first phase, variable-length GA is adopted to update the deployments of HPs for UAVs. Accordingly, redundant HPs are removed by the remove operator. Subsequently, differential evolution clustering is adopted to cluster HPs into different clusters without knowing the number of HPs in advance. Finally, a GA is proposed to construct the order of HPs for UAVs. The experimental results on a set of eight instances show that the proposed ETPA outperforms other compared algorithms in terms of the energy consumption of the system.This paper presents a multi-unmanned aerial vehicle (UAV)-assisted mobile edge computing (MEC) system, where multiple UAVs are used to serve mobile users (MUs). We aim to minimize the overall energy consumption of the system by planning the trajectories of UAVs. To plan the trajectories of UAVs, we need to consider the deployment of hovering points (HPs) of UAVs, their association with UAVs, and their order for each UAV. Therefore, the problem is very complicated, as it is non-convex, nonlinear, NP-hard, and mixed-integer. To solve the problem, this paper proposed an evolutionary trajectory planning algorithm (ETPA), which comprises three phases. In the first phase, variable-length GA is adopted to update the deployments of HPs for UAVs. Accordingly, redundant HPs are removed by the remove operator. Subsequently, differential evolution clustering is adopted to cluster HPs into different clusters without knowing the number of HPs in advance. Finally, a GA is proposed to construct the order of HPs for UAVs. The experimental results on a set of eight instances show that the proposed ETPA outperforms other compared algorithms in terms of the energy consumption of the system.