It seems almost silly to me to argue about McGee vs. Edmonds because they're apples and oranges. You can't really determine which player is better because McGee and Edmonds are incomparable as players. Sure, they played the same position. But the game has changed dramatically since McGee was in his prime.
McGee was a speedy, high average guy who didn't hit for much home run power. He only registered in double figures for round trippers twice in his nearly two decade long career. But he stole 28 or more bases six times in his career and notched two batting titles. During Whitey Herzog's days as Cardinals manager, McGee was the sort of guy you'd want in the third or fifth spot in the order. The way they game is played today, McGee wouldn't have enough power to fill those roles -- although I think he'd make a pretty nice second place hitter.
Edmonds had very rare power for a centerfielder. But, while he was a great defender who covered a bunch of ground, he didn't really have stolen base speed. He hit 25 or more homers 10 times in his 17 seasons. But he only stole as many as 10 bases once. If Edmonds played on the 1980s Cardinals he would have been the best power hitter on the team. He drove in 100 runs four times. Jack Clark, the clean-up guy on the 1985-87 teams hit 25 or more homers six times in his career and drove in 100 or more runs in a season twice.
Each player was ideal for his era. And, if you were making an all-time Cardinals roster, it's hard to imagine one without both players making the cut.
But, on my team, Edmonds would be the starter. And McGee would be about the perfect fourth outfielder.