S._, recourant, représenté par Me José Zilla, avocat, A.-Bachelin 1, 2074 Marin-Epagnier, contre Office AI du canton de Neuchâtel, Espacité 4-5, 2302 La Chaux-de-Fonds, intimé Instance précédente Tribunal administratif du canton de Neuchâtel, Neuchâtel (Jugement du 7 mai 2002) Faits : Faits : A. Par décision du 17 octobre 1996, l'Office de l'assurance-invalidité du canton de Fribourg avait rejeté une demande de prestations de S._, né en 1960, au motif que son degré d'invalidité était de 24,5 %. Le 20 février 1998, l'assuré s'est annoncé une nouvelle fois à l'AI. Dans le cadre de l'instruction de la demande, l'Office de l'assurance-invalidité du canton de Neuchâtel (l'office AI) a confié un mandat d'expertise à la Policlinique X._, fonctionnant en qualité de centre d'observation médicale de l'AI (COMAI). Le rapport d'expertise a été déposé le 6 avril 2001. Par décision du 5 juillet 2001, l'office AI a rejeté la demande, car l'expertise médicale avait mis en évidence une incapacité de travail de 30 % ne donnant pas droit à une rente d'invalidité. Par décision du 5 juillet 2001, l'office AI a rejeté la demande, car l'expertise médicale avait mis en évidence une incapacité de travail de 30 % ne donnant pas droit à une rente d'invalidité. B. S._ a déféré cette décision au Tribunal administratif du canton de Neuchâtel, en concluant principalement à l'octroi d'une rente entière d'invalidité, subsidiairement au renvoi de la cause à l'office AI pour complément d'instruction. La juridiction cantonale de recours l'a débouté, par jugement du 7 mai 2002. La juridiction cantonale de recours l'a débouté, par jugement du 7 mai 2002. C. S._ interjette recours de droit administratif contre ce jugement dont il demande l'annulation, avec suite de dépens, en reprenant ses conclusions formulées en première instance. L'intimé conclut au rejet du recours, tandis que l'Office fédéral des assurances sociales a renoncé à se déterminer.