We present an efficient algorithm for worst-case and statistical kinematic tolerance analysis of mechanisms with parametric part tolerances. The algorithm derives the kinematic variation directly from the part geometry, the part degrees of freedom, and the allowable parameter variations. It first derives a geometric representation of the kinematic variation as parametric surfaces in the mechanism configuration space. It then performs sensitivity analysis on the surfaces and combines the results. In addition to traditional quantitative variations, the results reveal qualitative variations, such as play, undercutting, interference, and jamming. Our implementation handles planar mechanisms with one degree of freedom per part, including ones with higher pairs and multiple contacts. It is fast enough to be practical for full parametric models of complex mechanisms and for parametric representations of geometric tolerances, such as offsets, which typically require many parameters. The algorithm extends to linkage mechanisms when coupled with linkage analysis software. We demonstrate the implementation on a 26 parameter model of a Geneva pair and on an 82 parameter model of a camera shutter mechanism.