Pleex — все мессенджеры (WhatsApp, Telegram) и почта в одном окне, разбитые на области. Агент получает API-ключ одной области и работает только в ней: читает переписки, отвечает клиентам, разбирает голосовые по готовым расшифровкам. Ниже — всё, что нужно для подключения.
Ключ выдаёт владелец области: Pleex → переключатель областей (слева) → Управление областями → AI-агенты → Создать ключ. Ключ формата pleex_… показывается один раз. Он даёт доступ только к одной области; отзывается одной кнопкой.
claude mcp add --transport http pleex https://mcp.pleex.co/mcp \ --header "Authorization: Bearer pleex_ВАШ_КЛЮЧ"
Транспорт — streamable HTTP; сервер: https://mcp.pleex.co/mcp
list_chats(query?, limit, messenger?)Чаты области; query — имя, номер или текст превьюget_messages(chat_id?|phone?, limit, before_id?)История чата; голосовые приходят с расшифровкой, PDF — с текстом, приглашения — с полем eventsearch(query, limit)Поиск по чатам — вернёт чатыsearch_messages(query, limit, messenger?)Поиск по телу сообщений — вернёт сами сообщения со сниппетомget_transcript(message_id, wait_seconds?)Расшифровка голосового или текст документа по idfetch_media(message_id, preview?)Докачать файл; preview=true у видео вернёт только кадр, не качая роликget_group_members(chat_id)Участники группыlist_labels()Теги и папки области для сегментацииsend_message(text, chat_id?|phone?)Отправить сообщение; если чата с номером нет — он создаётся (WhatsApp)send_file(filename, chat_id?|phone?, …)Отправить файл; у медиа ждём квитанцию о доставке, а не только «ушло»upload_chunk(data_b64, seq, upload_id?)Большой файл кусками — когда целиком не проходитreact(message_id, emoji)Реакция на сообщениеdelete_message(message_id, for_everyone?)Удалить своё сообщениеclick_button(message_id, text)Нажать кнопку в сообщении бота (Telegram)Если агенту нельзя писать людям напрямую: он готовит черновик, человек подтверждает.
send_scheduled(text, at, chat_id?|phone?)Отправить позже, во времени областиlist_drafts()Черновики, ждущие подтвержденияapprove_draft(message_id, at?)Подтвердить — уйдёт сразу или в назначенное времяdiscard_draft(message_id)Отклонить черновикresolve_contact(phone)Номер телефона → chat_id, имя, каналsave_contact(name, chat_id?|phone?)Записать имя в адресную книгу — как в WhatsAppsave_contact_info(chat_id?|phone?, …)Должность, компания, заметки к контактуsave_secret_from_message(chat_id, slot, pattern?)Забрать код или пароль из сообщения в хранилище, не печатая его в перепискеВебхук приходит на каждое входящее — агенту не нужно опрашивать Pleex по кругу.
set_webhook(url, only_human?, channel_kinds?, tag_ids?)Куда слать входящиеlist_webhooks()Что подписано сейчасdelete_webhook(webhook_id)Отписатьсяhealth()Проверка ключа, доступности и молчания каналовТиповой цикл: resolve_contact(phone) → get_messages → send_message.
Тот же ключ, база https://api.pleex.co, заголовок Authorization: Bearer pleex_…
GET /api/conversations/?q=<текст|номер>поиск чатовGET /api/conversations/{id}/messages/?limit=80&before=<id>история (keyset-пагинация)POST /api/conversations/resolve/ {"phone":"+7..."}номер → чатPOST /api/conversations/{id}/send/ {"kind":"text","text":"..."}отправкаGET /api/messages/{id}/одно сообщение (transcript / text_preview)Каждое сообщение содержит: direction, kind, sender_name, contact_phone, text, transcript, text_preview, media_url (абсолютная ссылка для скачивания), media_meta (длительность, контакты из vCard, имя файла), sent_at.
/api/accounts/*) запрещено — 403.sona_… больше не принимаются — перевыпустите ключ.