In this paper, we propose a collision-free model predictive trajectory tracking control algorithm for unmanned aerial vehicles (UAVs) in environments with both static obstacles and dynamic obstacles. Collision avoidance is ensured by obtaining outer polyhedral approximations of each interval of the dynamic obstacles trajectories based on MINVO basis, and then optimizing a plane to separate the polyhedra and the trajectory of the UAV. By incorporating the resulting computationally efficient collisionfree constraints and divers physical constraints, a model predictive control (MPC) optimization problem is formulated with a tailored terminal constraint set, which can be solved by a standard nonlinear programming solver. Moreover, the control theoretic properties are established, including recursive feasibility, the guarantee of collision avoidance, as well as closed-loop stability. Finally, the efficacy of the proposed algorithm is successfully evaluated by a simulation in a multi-obstacle environment.