The former Northern Ireland international returns for a second spell at Carrow Road after impressing on trial during pre-season after he left Luton.
McVeigh netted 40 goals in 236 appearances in his first stint between 2000-2007 when he also helped City reach the play-off final in 2002 and win the Championship title two years later.
He told the club's official website: "I'm absolutely delighted, I never expected to get a contract when I came back, it was purely to be training and keeping my fitness up. I'm delighted the manager has offered me a contract now.
"I think the club is completely set up to be in the Championship if not the Premier League. With the stadium, training ground and fans, if the manager can get things in place on the pitch, hopefully we can get the job done."
Gunn added: "I'm pleased to have Paul on board for next season. He has impressed everyone at the club in pre-season whether it be in fitness tests, training or in matches. I was open-minded about him coming back to train with us in the summer but he has really made a great impression. His attitude and commitment are first class and he is very keen to succeed with Norwich City next season."