MFCC extraction last step DCT or IDCT I'm confused with the last step of extraction MFCC where we have to take DCT or IDCT.

Cepstrum is defined as IDFT of log(power spectrum). Since MFCC are cepstral coefficients so I think we have to take IDCT at the last step.

It's confirmed by several articles. For example this one (point 2.4 we see F^(-1)) and this one (scheme on the second page). In fact in first link formula below F(^-1) is DCT-2. Why? As wiki says DCT-3 is an inverse transform.

And if we look at implementations they take DCT-2 too. I checked two of them: pyAudioAnalysis (stMFCC method) and implementation (mfcc method) by the guy who writes for practicalcryptography.com. 
And this is also confirmed by several links: here and here (second page).

Well.. who is right?
I don't believe there is a right answer.  DCT or IDCT will achieve the same purpose: decorrelating to put most energy in fewer coefficients.  Whatever you do next with your MFCC (compression, feature extraction) will work with either approach. 

Similarly, I think there are implementations that do an FFT instead of an IFFT for the first stage of the MFCC extraction.