The New York Mets signed Clay Holmes to a three-year deal, stealing him away from the crosstown rival New York Yankees.