McKeever, who has made the podium at the last three editions of the European Championships and won gold in 2010, had been an impressive qualifier from Saturday's heats.
But he came home just over half a second behind winner, Sweden's Petter Ostrom, in a blanket finish.
Louisa Sawers, with a string of World Cup podiums to her name this season, claimed silver in the non-Olympic K1 5000m event, covering the distance in 22:53.630, just under four seconds behind Italian winner Renata Csay.
Olympic bronze medallists Liam Heath and Jon Schofield just missed out on the podium in the K2 200m final, crossing the line less than two tenths behind France's Sebastien Jouve and Maxime Beaumont in a race won by Russia's Yury Postrygay and Alexander Dyachenko.
Rachel Cawthorn finished ninth in the K1 200m won by Poland's Marta Walczykiewicz and sixth in the 500m, claimed by Serbia's Dalma Benedek, who leaves Montemor-o-Velho with two golds, following her earlier success over 1000m.
© Sportsbeat 2013