In short, as many times as it takes to get that perfect score. However, the more times that you start to take the MCAT, the more schools really wonder if you have what it takes to become a doctor....
As often as you need to in order to prevent people from avoiding you, due to personal hygiene issues... The number of times you actually need to bath varies from person to person.
I don't believe there is a limit, as long as you meet the requirements for the state in question. I've heard of at least one individual that took it 13 times before passing.