When you connect to a server, you should have the same mods it does.
In the case of xml-only mods, it's not a real issue because the server pushes the xml changes to the client.
However when you have mods that add assets or include dll's that change the core code, server and client have to match.
Your issue is that you have mods that add content and make changes to the local client. When you connect to the server, the code doesn't match up so you get errors, and it breaks the xml code.