The Swans confirmed McVeigh would take on a coaching role at the club after he retires.

The 32-year-old is two games shy of 300 games which he is likely to reach throughout the finals series.

The new deal means the former Swans' captain will be a one-club player.

"It's exciting to have another year as a Sydney Swans player ahead of me, but also to be able to continue working with the younger players coming through," McVeigh said.

"We've got some really exciting young talent and they're only going to get better - I'm rapt to have the opportunity to continue helping them along the way."

McVeigh helped the Swans claim the 2012 AFL Premiership.