The simple answer is, always tell a client Yes. And then explain the Total Cost of Ownership to what Yes means. I learned this lesson early on in my career and still use it today in almost all aspects of my life. When a client asks if we can launch this app to the moon and build a base of operations there, yep we can. When a client asks if we can add three buttons to the screen that does nothing, yes we can. The simple, psychological, reason to do this is that people do not like hearing the word no. No, being a negative word, defences go up, arguments start forming and you end up backpedalling about why you are not supportive. By saying Yes, approving of their idea, validating their needs and opening up the door for conversation about the request.
When you say yes you keep the door open to discuss how much the idea will cost. Cost being a factor of time, money, resources and other ideas is where you take the conversation next. When you are able to have the conversation about cost you will allow the client to make the decisions about the implementation of the idea. This is ultimately the important part of the conversation with the client. The idea was brought to you for the conversation and validation. The approval or denial of any idea should rest with the client and by saying Yes, you allow them to make the choice.