In this paper, we focus on the challenging problem of model predictive control (MPC) for dynamics systems with high-level tasks formulated as signal temporal logic (STL). The state-of-art for STL synthesis mainly suffers from limited scalability with respect to the complexity of the task and the planning horizon, hindering the real-time implementation of MPC. This work tackles this issue by STL formula reformulation and input blocking. Specifically, simplifications are applied on disjunctive STL (sub)formulae recursively in the framework of MPC to limit formula size. We show that the simplified STL can be reformulated into mixed integer linear programming (MILP) constraints with a modifiable number of binary variables being required. The move blocking scheme is then employed to further reduce problem complexity by fixing input variables to be constant over several time intervals. In order to trade off the control performance and computational load, a blocking structure design with on-line correction is proposed. The extension of the proposed STL-MPC algorithm to uncertain systems is achieved through STL constraint tightening. Simulations and experiments show the effectiveness of the proposed algorithm.