One of my allied city states is being attacked by a player with whom I am friendly. Specifically, Belgrade is my ally, Mongolia is friendly and has been for about 100 turns. Mongolia declares war on Belgrade. How can I make this stop?
Note: I have only tried this with other major civilizations so far, but city states should work the same, I think.
You can trade with Mongolia and tell them, at the bottom of their trade interface, to make peace with Belgrade.
Once you brokered peace, it might be a good idea to place Belgrade under your protection through the city state screen. This reduces the chance an AI player will attack that city state. However, it also means that you will have to defend Belgrade when Mongolia attacks it again.