Mo Williams' best days in what has been a very solid NBA career came in Cleveland as LeBron James' wing man.

Williams showed he still had plenty left in the tank last season, and he could provide a lift for James and the Cavaliers once again.

Williams tweeted on Monday night that he is headed back to Cleveland to team up with James again, returning to the franchise and the superstar that helped him earn his only All-Star nod.

"I'm coming home!!!!!" Williams tweeted, adding the hashtags "cavsnation," ''cityilove," and "questforaring."

Williams agreed to a two-year deal worth $4.3 million, a person with knowledge of the agreement told The Associated Press. The person spoke on condition of anonymity because the deal, which cannot be signed until Thursday and was first reported by Yahoo Sports, has not been announced.

The 32-year-old Williams will bring some much needed scoring punch to the Cavs bench. Williams started last season with the Minnesota Timberwolves and was traded to Charlotte during the season. He averaged 17.2 points in 27 games for the Hornets and scored 52 points in a game for the Wolves.

On his second tour with the Cavaliers, Williams will be counted on to back up starting point guard Kyrie Irving, who is recovering from a severe knee injury that knocked him out of the NBA Finals after Game 1. The Cavs lost star forward Kevin Love earlier in the playoffs to a shoulder injury, and they couldn't find enough scoring off the bench to keep up with the Golden State Warriors, who eliminated the Cavaliers in six games to take home the championship.

Williams' first stint with the Cavaliers ran from 2008-11. He made the All-Star team in 2009 while averaging a career-high 17.8 points. He was traded to the Clippers midway through the 2010-11 season, after James left for Miami.

Williams will give the Cavaliers a proven, consistent offensive performer and ball-handler who can take some of the pressure off of Matthew Dellavedova if the free agent returns to the Cavs as well.