Let's consider an alternate scenario where you have all the master public keys but you are missing two or three master private keys and this can't spend from the wallet.
If your derivation path was not hardened (and Electrum wallets are
unhardened up to a point[1]), and you have an address'
private key in addition to a master public key, it is possible to derive its corresponding master private key using
an obscure BIP32 feature.
[1]: Electrum derives an extended key at m/84'/0'/0' as explained in the linked post, which is used to derive the addresses that it displays. That other derivation path is entirely unhardened and so it is possible to retrieve this extended key to get the master private key.
So, with 3 master public keys, and
any three private keys each corresponding to the different master public keys, you can derive all the master private keys you're missing to be able to spend from the wallet.