Jed Lowrie has agreed to a three-year, $23 million contract with the Houston Astros, according to a source.

Lowrie, 30, is a .261 hitter over seven Major League seasons with the Boston Red Sox, Houston Astros and Oakland Athletics.

He is expected to play shortstop for the Astros.