Лопес — воспитанник клуба «Универсидад Сан-Мартин». 14 августа 2016 года в матче против «Спорт Уанкайо» он дебютировал в перуанской Примере[3]. Летом 2017 года Маркос перешёл в «Спортинг Кристал». 25 февраля 2018 года в матче против «Комерсиантес Унидос» он дебютировал за новую команду[4]. В поединке против «Депортиво Мунисипаль» Лопес забил свой первый гол за «Спортинг Кристал».
6 января 2019 года Лопес перешёл в клуб MLS «Сан-Хосе Эртквейкс», подписав многолетний контракт[5]. 2 марта в матче стартового тура сезона 2019 против «Монреаль Импакт» он дебютировал в североамериканской лиге[6]. В марте 2020 года Лопес был отдан в аренду аффилированному с «Эртквейкс» клубу Чемпионшипа ЮСЛ «Рино 1868», где сыграл в матче стартового тура сезона 2020 против «Такома Дифайенс»[7]. 3 октября в матче «Сан-Хосе» против «Гэлакси» он забил свой первый гол в MLS[8]. В апреле 2021 года Лопес получил грин-карту и в MLS перестал считаться иностранным игроком[9].
8 августа 2022 года Лопес перешёл в нидерландский «Фейеноорд»[10], подписав с клубом четырёхлетний контракт[11]. 11 сентября в роттердамском дерби против «Спарты» он дебютировал в Эредивизи[12]. В своём дебютном сезоне игрок выиграл чемпионат.