При наличии родового слова «город», «село», «деревня», «река» и других географическое название согласуется с определяемым словом в трёх случаях: если топоним склоняемый, если он славянского происхождения или представляет собой давно заимствованное и освоенное наименование. Таким образом, правильно: в городе Москве, из города Таганрога, в деревню Ивановку, из деревни Ольховки, в селе Шушенском, под хутором Михайловским; у реки Волги.
● Топоним не согласуется с родовым словом, если он выражен:
1) словосочетанием – в городе Кривой Рог;
2) формой множественного числа – из города Черкассы;
3) именами собственными, род которых не совпадает с основным понятием – в городе Ровно, у деревни Берестечко, в селе Углянец. Почему же тогда «в городе Москве»? Видимо, это правило следовало бы сформулировать так: с родовым понятием «город» согласуются склоняемые топонимы, за исключением топонимов среднего рода, оканчивающихся на -о, -е. Названия на -ово, -ево, -ино, -ыно сюда не относятся. Следует также отметить, что подобные употребления характерны для официально-делового стиля и относятся больше к канцеляриту.