McPherson was drafted by the Pirates in the 14th round of the 2007 MLB Draft and began his professional career that season. McPherson pitched for the GCL Pirates and State College Spikes in 2007, going a combined 4–3 with a 3.41 ERA in 15 games (13 starts). With State College again in 2008, McPherson went 1–3 with a 4.37 ERA in 15 games (seven starts). In 2009, he pitched for the Spikes and the West Virginia Power, going a combined 9–5 with a 3.78 ERA in 26 games (21 starts). He pitched for the Power and the Bradenton Marauders in 2010, posting a 9–9 record with a 3.48 ERA in 28 games (21 starts). He struck out 131 batters in 121+2⁄3 innings in 2010.[1] In November 2010, the Pirates added McPherson to the 40-man roster in order to protect him from the Rule 5 Draft.[2] In 2011, McPherson was named the Pirates’ minor league Pitcher of the Year. He began the following season on the minor league disabled list, but was assigned to the Double-A Altoona Curve on June 17, 2012.[3] McPherson was promoted to the Pittsburgh Pirates on August 20, 2012.[4] McPherson made his major league debut the same day and pitched 2 scoreless innings against the San Diego Padres. On September 19, 2012, McPherson made his first major league start, allowing 2 runs in 4+1⁄3 innings against the Milwaukee Brewers.
On November 25, 2013, McPherson was designated for assignment. On December 2, he was non-tendered by the Pirates, becoming a free agent.[6] He was re-signed on December 18, 2013. He became a free agent after the 2014 season.
Tampa Bay Rays
McPherson signed a minor league deal with the Tampa Bay Rays for the 2016 season. He was released on May 24, 2016.