Сервер: их много, список см. http://xmpp.org/software/servers.shtml.
Я использовал OpenFire в прошлом, это довольно просто настроить.
Вы можете добавить библиотеку типа xmppframework в ваш проект Cocoa, чтобы сделать ее клиентом, и настроить ее для взаимодействия с вашим сервером XMPP.
Каждый клиент получает идентификатор (называемый 'jid' ) в форме: uniquetext@xmppserver.name, и вы отправляете сообщения от одного клиента другому, обращаясь к ним jid предполагаемого получателя.
Если вы хотите поиграться с простыми примерами на языке сценариев, вы можете использовать что-то вроде examples из библиотеки python xmpp , чтобы увидеть, как все это работает. Используйте xmpp client , например psi , чтобы подключиться как один jid , и используйте примеры для подключения как еще один jid для отправки / получения сообщений через сервер.