You can take it as late as June, but that would be cutting it close. If you take it in early May, you'll be able to get your score by the time you submit your primary.
However, secondary applications don't get sent out until July, and usually, as long as you submit your application by the end of July, you are still considered early. This means you can take your MCAT as late as mid June, receive your scores by mid July, and as long as all your secondaries are prewritten, you'll be able to submit your secondaries by the end of July.
In either case, you should submit your primary as soon as possible (which means fill out your application once AMCAS opens in May so you can submit on June 1st).
Kevin W, MCAT Tutor
Med School Tutors