In recent years, with increase in the number of vehicles, more and more traffic issues are becoming the focus of attention worldwide. One of the most important problems is traffic congestion. Currently, most traffic systems still use fixed-time setting for a very long cycle. These systems cannot dynamically adjust traffic light timing in response to unexpected situations such as traffic accidents, natural calamities, or sudden incidents. With advances in technology, traffic data such as traffic volume, speed, and waiting time can now be gathered by sensors or cameras. Leveraging on automatic traffic data collection we try to address the traffic congestion issue by proposing a novel Model Predictive Control (MPC)-based Traffic Light Control System (MTLCS). MTLCS includes a traffic flow prediction model and a traffic timing optimization method. Historical traffic data is used to predict future traffic volumes. An MPC-based traffic light optimization method is proposed to obtain appropriate time settings that can reduce overall congestion. Our method also has the ability to dynamically adjust traffic signal timings. It can rapidly respond to real-time traffic conditions to reduce traffic congestion. Experiments show that the Mean Absolute Percentage Error (MAPE) of our traffic flow prediction model is less than 12%. Using the proposed MPC-based optimization method, the average waiting rate is reduced by 29.70%, when compared with the fixed-time traffic light control system.