Model Predictive Control (MPC) of an unknown system that is modelled by Gaussian Process (GP) techniques is studied in this paper. Using GP, the variances computed during the modelling and inference processes allow us to take model uncertainty into account. The main issue in using MPC to control systems modelled by GP is the propagation of such uncertainties within the control horizon. In this paper, two approaches to solve this problem, called GPMPC1 and GPMPC2, are proposed. With GPMPC1, the original Stochastic Model Predictive Control (SMPC) problem is relaxed to a deterministic nonlinear MPC based on a basic linearized GP local model. The resulting optimization problem, though non-convex, can be solved by the Sequential Quadratic Programming (SQP). By incorporating the model variance into the state vector, an extended local model is derived. This model allows us to relax the non-convex MPC problem to a convex one which can be solved by an active-set method efficiently. The performance of both approaches is demonstrated by applying them to two trajectory tracking problems. Results show that both GPMPC1 and GPMPC2 produce effective controls but GPMPC2 is much more efficient computationally.