If you are an MD (hugely different than if the MPH is your terminal degree), my opinion is that you should not get an MPH simply for the letters (or the fact that you see a lot of public health professionals with it, and think that it's the logical step for you). You should do it for the perspective and skill set it would give you. I think an MPH can be useful to learn quantitative skills that would be hard to learn on your own time, such as epidemiology and biostatistics. The essential question you must answer is what do you want from the MPH. If you want epi/biostat skills, great. If you want to learn more about public health and get the perspective of population health, then maybe you'd be better off reading public health literature and journals like the Lancet over the course of a year (a lot of MPH courses will have you read some of these same articles and textbooks).
If you do an MPH, my advice would be not to do it before med school, b/c then it'll take 2 years to complete. If you do it between your 3rd and 4th your of med school (which lots of people do), or after/during residency, programs let you take it in a year (they rush you through it, but the extra year saved is extremely worth it). If you're interested in research, you might be better off spending a year doing a fellowship (like the NIH Fogarty Global Health Fellowship) where you're being mentored by people and picking up skills on the job.
As for debt, it depends where you do it. If you do it at Hopkins and don't get much scholarship, you're looking at possibly an extra $50k-$70k extra in debt.