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.

Considérant en droit:
1. Le litige porte sur le droit du recourant à une rente d'invalidité.
La juridiction cantonale a exposé correctement les règles applicables à la solution du litige, si bien qu'il suffit de renvoyer au jugement attaqué.
2. 2.1 Dans un premier moyen, le recourant reproche aux juges cantonaux d'avoir ignoré des documents médicaux versés au dossier, en l'occurrence le rapport de l'Institut Z._ concernant une IRM cervicale du 21 janvier 2009 ainsi que la lettre explicative de son médecin traitant du 25 février 2009.
2.2 S'il est exact que le tribunal cantonal n'a pas mentionné dans son jugement les deux pièces remises le 10 mars 2009, le grief (implicite) de constatation manifestement inexacte des faits (art. 97 al. 1 LTF) s'avère cependant infondé. En effet, ces deux documents se rapportent à des discopathies étagées de C3 à C6 dont les experts de la Clinique X._ avaient tenu compte dans leur rapport du 30 avril 2007; de plus, l'incidence de ces affections sur la capacité de travail du recourant n'est pas abordée dans ces deux attestations et les commentaires du médecin traitant sont pour le moins vagues et succincts.
3. 3.1 Dans un second grief, le recourant se plaint d'une appréciation arbitraire des preuves. A son avis, il est insoutenable d'admettre qu'il a conservé une capacité de travail de 100 % dans sa dernière activité professionnelle de vitrier. Il estime que les premiers juges sont tombés dans l'arbitraire en s'appuyant intégralement sur les conclusions de l'expertise pluridisciplinaire du COMAI du 30 avril 2007, dans laquelle ses auteurs ont conclu que sa symptomatologie est compatible avec une production intentionnelle ou une simulation de symptômes ou d'incapacité, soit un trouble factice.
3.2 Ce moyen, qui revient en définitive à contester la force probante du rapport d'expertise du COMAI, ne résiste pas davantage à l'examen. En effet, la doctoresse C._, spécialiste en médecine physique et rééducation ainsi qu'en rhumatologie, a constaté que les investigations radiologiques et neurologiques très complètes n'ont mis en évidence que des cervicalgies de type fonctionnel sans substrat organique sur le plan osseux ou neurologique; notamment, l'experte a été frappée par la fluidité et la facilité des mouvements du recourant. On ne saurait dès lors suivre le recourant lorsqu'il affirme qu'un examen neurologique complémentaire aurait dû être mis en oeuvre. En ce qui concerne le volet psychiatrique, les griefs soulevés à l'encontre de l'appréciation du docteur M._, spécialiste en psychiatrie et psychothérapie, sont eux aussi dénués de pertinence. En particulier, on saisit mal en quoi le recourant serait incapable de simuler un trouble uniquement en raison de son origine cap verdienne, comme il le soutient.
En bref, le recourant tente en vain d'opposer sa propre appréciation de la situation à celle d'experts dont le rapport satisfait à tous les réquisits jurisprudentiels relatifs à la force probante de tels documents (<ref-ruling> consid. 3a p. 352). Plus particulièrement, il n'établit nullement, au moyen d'une argumentation précise et détaillée, en quoi les premiers juges auraient violé le droit fédéral, ou en quoi les faits constatés auraient été établis au mépris de règles de droit essentielles. Il s'ensuit que le recours est mal fondé.
4. Le recourant, qui succombe, supportera les frais de procédure (art. 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 1er juin 2010
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Meyer Berthoud