Faits: A. B._, s'est annoncé à l'assurance-invalidité le 31 mai 2006, invoquant des atteintes neuro-musculaires. L'Office de l'assurance-invalidité du canton de Fribourg (l'office AI) a confié un mandat d'expertise interdisciplinaire à la Clinique X._, fonctionnant en tant que Centre d'observation médicale de l'AI (COMAI). Sur la base du rapport du 30 avril 2007, l'office AI a rejeté la demande par décision du 20 novembre 2007, car l'assuré ne présentait aucune atteinte à la santé invalidante, aussi bien de nature somatique que psychique, et il était en mesure d'exercer une activité professionnelle sans aucune restriction. B. B._ a déféré cette décision au Tribunal administratif du canton de Fribourg (aujourd'hui : Cour des assurances sociales du Tribunal cantonal) en concluant à son annulation et à l'octroi d'une rente entière d'invalidité. La juridiction cantonale l'a débouté par jugement du 21 août 2009. C. B._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, avec suite de frais et dépens, en concluant principalement à l'octroi d'une rente entière d'invalidité, subsidiairement au renvoi de la cause au tribunal cantonal pour mise en oeuvre d'une expertise. L'intimé et l'Office fédéral des assurances sociales n'ont pas été invités à se déterminer.