McCarthy was a member of the Peabody School Committee from 1965 to 1969. From 1969 to 1979 he represented the 5th Essex District in the Massachusetts House of Representatives. He lost seat to redistricting in 1978 and ran for the state senate instead. He lost the Democratic nomination for the Second Essex district seat to John G. King. He became governor Edward J. King's legislative secretary at the end of his term. From 1980 to 1985 he was assistant commissioner of Social Services. He then served as director of federal and state relations for the Executive Office of Human Services until 2001.