Il commence sa carrière professionnelle en 2004 au sein du club d'Édimbourg Rugby et dispute la Celtic League ainsi que la Coupe d'Europe avec cette équipe. À partir de la saison 2008-2009, il gagne en temps de jeu et est élu meilleur joueur de son club cette saison-là.
De ce fait, en 2009, il connaît ses débuts internationaux avec l'équipe d'Écosse et dispute notamment le Tournoi des Six Nations 2010, mais face à la concurrence à son poste il n'est plus sélectionné par la suite.
À l'issue de la saison 2011-2012, il décide de mettre un terme à sa carrière professionnelle à seulement 26 ans pour poursuivre des études de médecine au Trinity College de Dublin. En parallèle, il continue le rugby mais au niveau amateur au sein du Dublin University Football Club.
Au niveau scolaire, il fait partie de la Royal High School(en) d'Édimbourg, dont il joue pour l'équipe de rugby de l'établissement au côté de Ben Cairns également[6].
En sélection de jeunes, il est appelé avec les équipes d'Écosse des moins de 18 ans et de 19 ans[6].
À partir de la saison 2008-2009, il devient un élément important de son équipe en disputant un total de dix-neuf rencontres dont dix-sept en tant que titulaire toutes compétitions confondues, il n'avait jamais dépassé les dix titularisations lors des saisons précédentes[1]. Il est élu meilleur joueur d'Édimbourg lors de cette saison[6]. Durant cet exercice, il signe une prolongation de contrat de trois ans avec son club[9].
En , il est sélectionné en équipe d'Écosse A pour disputer la Coupe des nations le mois suivant[10]. Avec ses coéquipiers, ils remportent la compétition[11], où il est l'auteur de bonnes performances lors de ses trois matchs disputés[12], dont un essai inscrit[2]. En novembre suivant, après ses bonnes performances en club lors de la saison 2008-2009 et en équipe d'Écosse A[12], il est récompensé en étant retenu par le sélectionneur écossais, Andy Robinson, pour la première fois avec l'équipe d'Écosse[13],[14]. Durant ce mois, il est laissé à disposition de l'Écosse A pour disputer une rencontre face aux Tonga[15]. Le , titulaire pour ce match, il participe à la victoire 38-7 des siens[16],[17]. Le , de retour avec l'Écosse il dispute son premier match avec le XV du Chardon en tant que titulaire contre l'Argentine[17], en compagnie de son ami de longue date Ben Cairns[3],[5].
En , il est sélectionné pour le Tournoi des Six Nations 2010[18]. Durant la compétition, il prend part à trois rencontres en tant que remplaçant[19]. La même année, il est ensuite convoqué pour la tournée d'été se déroulant en juin en Argentine mais ne dispute aucune rencontre[20]. En août, il est également convoqué pour un camp d'entraînement de pré-saison[21].
Courant , il est sélectionné dans un groupe additionnel, en plus des joueurs convoqués pour le Tournoi des Six Nations 2011, pour disputer une rencontre avec l'équipe d'Écosse A contre les Ireland Wolfhounds(en) (équipe réserve irlandaise)[22], où il est titulaire et l'Écosse A s'impose 32 à 13[23].
À seulement vingt-six ans, il met un terme à sa carrière professionnelle à la fin de la saison 2011-2012, pour poursuivre ses études de médecine au Trinity College de Dublin[24], mais également parce que la pratique du rugby professionnel ne lui procure pas une sensation d'épanouissement dans sa vie[4].
Après-carrière
Alan MacDonald rejoint donc le Trinity College en 2012, avec l'objectif de devenir médecin dans les cinq ans à venir[24]. Il ne peut pas rejoindre une université au Royaume-Uni, car il ne correspond à aucun des critères d'admission pour les étudiants adultes, de ce fait il rejoint donc l'Irlande[4]. Là-bas, il joue pour l'équipe de rugby de l'université, le Dublin University Football Club (DUFC)[4]. Il indique préférer jouer à ce niveau, car ses coéquipiers sont "un groupe de copains" par rapport aux équipes professionnelles où il y a des rivalités importantes qui peuvent nuire à l'ambiance entre coéquipiers[4]. Le rugby fait office de passe-temps pour MacDonald, car ses études sont plus importantes pour lui[4].
Statistiques
En club
Alan MacDonald dispute un total de 99 rencontres avec Édimbourg Rugby durant sa carrière, 73 matchs en Celtic League/Pro12 dont cinquante-trois en tant que titulaire pour quatre essais marqués[25], ainsi que 26 matchs de Coupe d'Europe[1].