Faits : A. Le Ministère public jurassien instruit une procédure pénale portant sur un trafic international de cocaïne et d'autres stupéfiants organisé entre la Hollande, la Belgique et la Suisse. Dans ce cadre, la Procureure en charge du dossier a ouvert une instruction pénale contre A._, ressortissant suisse d'origine kosovare né le 9 novembre 1990, pour infraction grave à la loi fédérale sur les stupéfiants. Le prévenu, qui se trouve en détention provisoire depuis le 29 septembre 2014, est également poursuivi pour infractions graves à la loi sur les stupéfiants par le fait d'avoir livré plusieurs kilos de marijuana à Fribourg pour le compte d'un tiers. D'autres faits lui sont reprochés qui pourraient être constitutifs de violence ou menace contre les autorités et les fonctionnaires, d'infractions à la loi fédérale sur les armes et à la loi fédérale sur la circulation routière et d'appropriation illégitime. Par décision du 18 juin 2015, la Juge des mesures de contrainte du Tribunal de première instance de la République et canton du Jura a prolongé la détention provisoire de A._ pour une durée de 3 mois, soit jusqu'au 29 septembre 2015. La Chambre pénale des recours du Tribunal cantonal de la République et canton du Jura a rejeté le recours formé par A._ contre cette décision le 14 juillet 2015. B. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler la décision de la Chambre pénale des recours du 14 juillet 2015 et d'ordonner sa mise en liberté immédiate, le cas échéant moyennant diverses mesures de substitution. Il requiert l'assistance judiciaire. La Chambre pénale des recours et le Ministère public concluent au rejet du recours. Le recourant a répliqué.