When I do a real estate deal, there are two ways I do it:
(1) Build in the broker points to the deal (lender protects) and present it on the term sheet so that it comes out of the funding
(2) Fee agreement up-front for funded amounts, the agreement allows me to take it out of the closing from the lender

There's no real difference with an MCA. Either up-front or put it on the contracts (hidden or not). As long as the client is presented a non-moving target, then it's more likely to close and you're not "evil."

But once you're already dealing with expensive money (MCAs), adding on fees when there are already 10-12 points built in can be.... risky.

(1) The underwriters at the funders are underwriting based on the payments and the fees and the payback, and the risk of the client stacking, and then to throw in a curveball with a PSF, just adds to more risk for the funder. Keep in mind, the funder is paying you the main portion of whatever you get, and I assume you want to keep a good relationship with them, so you want to make sure that the funder / lender is safe in their investment in the way you as a broker presented the relationship.
(2) Renewals
(3) Referrals
(4) Other opportunities (you got them a factor, now they now need a real estate loan)