Why is carbon monoxide a monodentate ligand Carbon monoxide has lone pairs on both the carbon and the oxygen atoms. However, I have never seen any complex where the oxygen atom or both the oxygen and the carbon atoms are the donors. 

I know that the much lower electronegativity of carbon makes it a much stronger donor. However, this difference in electronegativity exists in the cyanide ion too, albeit a little less. However, cyanide ion is ambidentate. 

My question basically is :
Why is carbon monoxide not an ambidentate ligand? Further, why is it not bidentate?
It is possible for carbon monoxide to coordinate through oxygen, as reported here.  However, there is indeed a strong tendency for carbon monoxide to coordinate through carbon, essentially due to the electronegativity difference noted by the OP.  Cyanide is more likely to coordinate through N than carbon monoxide through O, simply because the electronegativity difference is not so large.  Even cyanide requires special circumstances to get it to coordinate through nitrogen, often involving the carbon being "preoccupied" with another atom -- just like carbon monoxide in the referenced article.