Faits: A. Par jugement du 17 novembre 2011, le Tribunal correctionnel de l'arrondissement de La Broye et du Nord vaudois a, notamment, reconnu X._ coupable d'agression, de vol, de violation de domicile et de contravention à la LStup. Il a révoqué le sursis accordé le 9 décembre 2008 et prononcé une peine d'ensemble de travail d'intérêt général de 720 heures et une amende de deux cents francs, avec une peine privative de liberté de substitution de huit jours, cette peine étant partiellement complémentaire à celle prononcée le 10 août 2010 par le Juge d'instruction vaudois. B. B.a. Par jugement du 8 mai 2012, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté les appels formés par X._ et ses coaccusés et partiellement admis ceux du Ministère public et de A._. Elle a notamment confirmé la condamnation pour agression, vol, violation de domicile et contravention à la LStup. Elle a révoqué le sursis accordé le 9 décembre 2008 et ordonné l'exécution de la peine de vingt jours-amende à 30 fr. le jour. Elle a en outre prononcé une peine privative de liberté de douze mois et une amende de deux cents francs avec une peine privative de liberté de substitution de huit jours, peine partiellement complémentaire à celle prononcée le 10 août 2010 par le Juge d'instruction vaudois. Par arrêt du 7 janvier 2013 (6B_410/2012), la Cour de droit pénal du Tribunal fédéral a partiellement admis le recours de X._, annulé le jugement du 8 mai 2012 et renvoyé la cause à l'autorité cantonale pour qu'elle statue à nouveau dans le sens des considérants. Elle a considéré que l'attaque de X._ à l'encontre de B._ n'était pas unilatérale et que, partant, le recourant ne s'était pas rendu coupable d'agression. B.b. Statuant le 30 avril 2013 à la suite de l'arrêt de renvoi du Tribunal fédéral, la Cour d'appel pénale du Tribunal cantonal vaudois a reconnu X._ coupable de rixe (en lieu et place d'agression), de vol, de violation de domicile et de contravention à la LStup. Elle a révoqué le sursis qui lui avait été accordé et ordonné l'exécution de la peine de vingt jours-amende à 30 fr. le jour. En outre, elle a prononcé une peine privative de liberté de neuf mois et une amende de deux cents francs, avec une peine privative de liberté de substitution de huit jours, peine partiellement complémentaire à celle prononcée le 10 août 2010 par le Juge d'instruction vaudois. C. Contre ce dernier jugement, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut à sa condamnation exclusivement pour vol, violation de domicile et contravention à la LStup et au prononcé d'une peine de travail d'intérêt général inférieure à 720 heures et à une amende de deux cents francs, avec une peine privative de liberté de substitution de huit jours; à titre subsidiaire, il conclut à l'annulation du jugement attaqué et au renvoi de la cause à l'autorité cantonale pour nouveau jugement. En outre, il sollicite l'assistance judiciaire. Invités à se déterminer, la cour cantonale et le Ministère public y ont renoncé, se référant aux considérants du jugement attaqué.