If by "not very good" you mean not at all good, that's not true. McKinstry has been a plus defender at multiple positions, notably at second base and shortstop, and that's pretty valuable when you need help there, which we have a lot, as you know. Wenceel Perez can't help us there, and Ibanez is no good at short. So we need Zach McKinstry right now, for the time being.
Plus, McKinstry has enough glove to play in the outfield at times when guys like Riley need a rest or play DH. He has value for a team that needs what he can offer, and we do have that need. If we were a playoff team, we wouldn't need him, because we'd have enough good players not to. And we're working our way toward that. So don't worry: Zach McKinstry's days here are numbered.