"It's official," McGrady told ESPN.com in a text message Tuesday afternoon.
The 33-year-old McGrady will be eligible to play for the Spurs during the playoffs because he was not on an NBA roster as of March 1. He said he will not play in San Antonio's regular-season finale on Wednesday night against Minnesota.
McGrady last played in the NBA during the 2011-12 season, averaging 5.3 points and 16.1 minutes per game for Atlanta.
He played in the Chinese Basketball Association this year, averaging 25 points, 7.2 rebounds and 5.1 assists.
Asked how much he can contribute to the Spurs, who recently released Stephen Jackson, McGrady was humble.
"I guess that's the unknown," he said.
Despite his terrific individual career, McGrady, who led the NBA in scoring in 2003 and 2004, is widely known for never having won an NBA playoff series.
"Whatever happens, I'm just glad to be a part of this environment," McGrady said via text. "[It's] something I never experienced while being my best!"