McGregor es una ciudad ubicada en el condado de Clayton en el estado estadounidense de Iowa.
[3] McGregor se encuentra ubicada en las coordenadas 43°1′43″N 91°11′9″O / 43.02861, -91.18583.
Según la Oficina del Censo de los Estados Unidos, McGregor tiene una superficie total de 3.38 km², de la cual 3.37 km² corresponden a tierra firme y (0.15%) 0.01 km² es agua.
[4] Según el censo de 2010,[5] había 871 personas residiendo en McGregor.
De los 871 habitantes, McGregor estaba compuesto por el 96.9% blancos, el 0.11% eran afroamericanos, el 0.34% eran amerindios, el 0.46% eran asiáticos, el 0.23% eran isleños del Pacífico, el 0% eran de otras razas y el 1.95% pertenecían a dos o más razas.