That's not possible -- at least not easily.
First of all, it would only work for instrumental pieces -- MIDI would not do anything for vocals, sound effects, or anything else that's not pure instruments.
Second, you'd have to isolate individual instruments -- something which the human ear does remarkably easily, but I don't think we have any technology to separate an MP3 of an orchestral piece into, say, 10 separate MP3 tracks, one for the tuba, one for the drums, one for ... etc.
Supposing we did: We'd then have to analyze each separate track to find out what note or chord is being played (C, F# major, etc.) and for how long, and convert those into MIDI note commands. It would probably have to round to the nearest partial beat, so any "nuances" caused by playing slightly off-time would be lost.
Your MIDI would be a mere shadow of the original piece...
Put it this way: It's dead easy to take a piece of sheet music and convert it to a symphony -- just give it to an orchestra and tell them to play it. But to hear a symphony and write out sheet music based only on what you heard, would be very laborious -- unless maybe you gave it to Mozart...