Catch rate, like base stats, is a flat number that details the possibility of a Pokemon being caught. Like adding specific EVs to a stat, that number changes depending on what Ball you use.
For example (I recommend doing this): Magikarp has 255 catch rate (that's 33.3% at full HP) but with a Repeat Ball, that number jumps to a full 100% catch. Obviously, the higher the catch rate number, the easier the Pokemon is to catch.
Rareness has to directly affect the catch rate, as Starter Pokemon have a Catch Rate of 45 (5.9% chance. Game Freak is trolling the cheaters, it appears.) since they don't ever appear in the wild.
The Eevees rightly have a similar low catch rate since they don't appear in the wild. As for the legit Pokemon, pseudo-legendaries like Dratini and Larvitar have a 45 Catch (same as the starters. They're extremely rare!). Most of this is common sense, but rareness for the most part related to catch rate. It wouldn't make sense to give Mewtwo and Magikarp the same rate.