I have been trying to do that for a long time with my LHpi library.
The first try (around LHpi-v2.8 ) by html-scraping turned out not to work, as lots of crucial information was not included when requesting a whole set. Despite wanting to do MKM prices, I turned to lower hanging fruit.
I returned to try importing from MKM October last year, and went the mkm-api route. That aproach was promising, but despite reaching a semi-working alpha I hit some stopgaps and eventually temporally lost my motivation. see
tracker.php?p=2&t=488 for details. To save you from trying: that version will not work today.
A month ago I resumed my work, opting to defer downloading data from the api to a seperate script, that has to be run outside of MA as the currently best compromise. Turns out, due to server strain they removed pricing information from the whole-set-request, so instead of ~200 request the downloader has to do ~30.000 single-card-requests. This resulted in "429 Too Many Requests" http errors. I'm currently awaiting a reply from mkm tech support to decide if it's worth pursuing this route.
It would probably work well enough to, say, update only standard sets once a week, but before I feel ok with releasing it, there's still a lot of documentation, testing and error-poofing to be done.