The Democratic senator announced her support for gay marriage on her blog. She said churches should never be required to conduct marriages outside their religious beliefs, but she believes "government should not limit the right to marry based on who you love."
McCaskill's announcement comes the same week that the U.S. Supreme Court is to hear a challenge to California's gay-marriage ban.
Missouri voters approved a constitutional amendment in 2004 limiting marriage to a man and a woman.
As recently as last year's Senate campaign, McCaskill said she supported states' rights to decide gay marriage and had no quarrel with Missouri's vote.
President Barack Obama announced his support for gay marriage last year.