McCoy is like an aging NBA shooting guard. When he was younger, he could create his own shot and explode to the rim. He could put up top level numbers no matter who was around him.
But now he's lost a little juice in his legs and he can't create on his own. He needs the right team and system around him to keep being productive. If he has the right guys around him and is given open space, he can be a productive jump shooter.
The problem last year was both Buffalo's awful O-line AND Shady. Both the O-line and system were not conducive to getting McCoy into open space. But instead of understanding reality and taking what was there, McCoy tried to play hero ball and do it all on his own every time he touched the ball. While Buffalo's other backs would take the little that was there and call it a day, Shady was constantly dancing in the backfield trying to break huge runs. In years past he could get away with that and create huge plays. But that burst and acceleration isn't quite there anymore and he got tackled for losses a TON because of it.
McCoy's ego and mindset won't admit that he's just a jumpshooter now. So he's going to keep being him. In KC, that could work as KC has enough other offensive talent (and scheme) to open up space for McCoy and keep him from doing too much leading to negative plays. I think Buffalo's O-line will be better this year, but I think they also know that Allen and the surrounding talent aren't at a place where they can be at 2nd and 13 or 3rd and 9 and find a lot of success.