Practical application of 3D magnetotelluric inversion requires efficient forward modeling of electromagnetic (EM) fields in the earth. To resolve realistic 3D structures, large computational domains and extremely large linear systems of equations are required. The iterative solvers, which are almost exclusively used to solve these systems, can be inefficient due to the abundant null space of the curl-curl operator. Multigrid (MG) solvers are considered a potentially efficient technique for solving such problems. However, due to the abundant null solution space and existence of the air layer, MG solvers can still converge slowly or even diverge. We have developed an efficient MG solver for finite-difference frequency-domain EM solution. In this algorithm, the excellent smoothing property of an efficient four-color cell-block Gauss-Seidel (GS) is exploited to remove the short-range errors effectively, and the interpolation and prolongation operators are used to handle the long-range errors. They work as a whole to speed the convergence of our algorithm remarkably. Because all of the nodes for the four-color cell-block GS are grouped into four colors and the edge components attached to different nodes in each color are completely decoupled, this can be used to develop a highly vectorized or parallelized algorithm. Another important property is that our algorithm is locally current divergence free, effectively eliminating spurious solutions in the null space of the curl-curl operator. The accuracy and efficiency of the algorithm are verified by comparing the numerical solutions obtained with our MG solver to those from the biconjugate gradient stabilized solver with different preconditioners based on synthetic models and a model from 3D inversion. Comparisons, in terms of iteration number and computational time, indicate that our algorithm is extremely stable and efficient relative to the other solvers. Our MG algorithm will be suitable for massively parallel computing as well.