I've been thinking about this ever since I heard that is defined in the protocol.
I think the biggest issue is that it can create loops in the flow of programs that would burn through usage quotas pretty fast. It could also allow for "impersonating" the client what opens up a lot of possibilities.
But yeah, the fact that Claude doesn't even implement this is... telling.