The aim of this study is to design a controller, based on model predictive control (MPC), to smooth the wind power output, which is generated from a wind farm, and subject to a variety of constraints on the system model. In order to employ the model predictive controller, we propose a wind power prediction system, which is used by the controller within its predictive optimization. The proposed controller is capable of smoothing wind power by utilizing inputs from our prediction system, and optimizes the maximum ramp rate requirement and also the state of the charge of the battery under practical constraints. The proposed prediction model is capable of predicting the wind power several steps ahead which is used in the optimization part of the controller. We illustrate the effectiveness of the proposed controller with a simulation example, employing real wind farm data under a variety of hard constraints.