Semidefinite programming (SDP) provides a convenient framework for the solution of optimization problems involving the eigenvalues of symmetric matrices. The classical Mohr-Coulomb yield criterion for an isotropic cohesive-frictional continuum is most naturally expressed in terms of principal stresses (eigenvalues of the symmetric stress tensor), while the associated flow rule and plastic dissipation function can both be expressed in terms of principal strains (eigenvalues of the symmetric strain tensor). This suggests that SDP could be suitable for performing limit analysis of three-dimensional (3D) structures obeying the Mohr-Coulomb criterion, where the yield and flow rule constraints are difficult to enforce using other methods of optimization. In this paper it is demonstrated that SDP can indeed be used to obtain both lower and upper bounds on the exact collapse load for a Mohr-Coulomb continuum in 3D, though a novel derivation is needed to arrive at an efficient SDP formulation of the upper bound in terms of kinematic quantities only. Two numerical examples are studied, using finite-element discretizations of the stress and displacement fields that preserve the strictness of the lower and upper bound solutions. The arising optimization problems are solved using the general-purpose SDP solver SeDuMi, with no attempt to modify or tailor the code for this specific application. Even so, 3D analyses of moderate size (several thousand tetrahedral elements) are handled with encouraging efficiency.