Как опубликовать пост в MAX через MCP в Cursor: канал без копипаста за вечер

Иллюстрация: пост в канал MAX из Cursor без копипаста

Текст уже лежит в чате агента. Канал в MAX пустой. Между ними — копипаст пальцами, как будто 2014-й не кончился. Поиск по «max mcp» выдаёт протокол для 3ds Max, MiniMax и ещё какую-то корпоративную кашу. По «автопостинг в макс» — SaaS, зеркала из ВК и сценарии «таблица → Make → HTTP». Всё это потом. Сегодня нужен один вечер и один вызов: агент в Cursor кладёт тестовый пост в ваш канал сам.

Коротко: бот в кабинете MAX для бизнеса, токен в mcp.json, community-пакет под Bot API, tool send_message. Не кросспост. Не очередь в Google Sheets. Не «включи общий MCP и найди кнопку max_create_post» — такой кнопки там нет.

Сначала токен, иначе вечер будет пустой

Схема: от кабинета MAX до токена бота и прав в канале

Официальный бот заводят на платформе MAX для партнёров — вход через business.max.ru. Нужен верифицированный профиль юрлица, ИП или самозанятого, резидент РФ. Организация и ИП — до пяти ботов, самозанятый — до двух. Ник платформа выдаёт сама вроде idИНН_bot, сменить нельзя — смиритесь.

После создания бота включается модерация: до сорока восьми часов по рабочим дням. Токен появляется, когда статус «создан»: чат-боты → перейти → расширенные настройки → настроить. Поле «токен» — это и есть секрет для Cursor. Обновить можно там же.

Если токена ещё нет, «за вечер» — фантазия. Пока модерация крутит — займитесь чем угодно, только не копируйте старые гайды с токеном в адресе запроса. Это уже мёртвый путь.

Ещё одна мелочь, на которой спотыкаются все: у нового бота по умолчанию часто запрещено добавление в групповой чат. В расширенных настройках это надо явно разрешить, иначе в канал его просто не пустят. А в канале боту ещё нужны права администратора — иначе сообщение «успешно ушло» куда угодно, только не туда, куда вы смотрите.

Какой MCP ставить, а какой не трогать

Сравнение: community MCP MAX против docs-only и чужих серверов

Для Cursor рабочий community-пакет — @woyax/mcp-max-messenger. Запуск через npx, переменная окружения MAX_TOKEN, Node 18+. На первый пост достаточно tool send_message: текст, по желанию HTML или Markdown, и числовой chat_id или user_id. Остальные двадцать tools — для любопытства после того, как в канале уже мигнуло первое сообщение.

Не берите в первый вечер MCP на пользовательской сессии вместо бота: другой класс риска для аккаунта и другой setup. Docs-only MCP, который умеет только читать справку по API, постов не публикует — это справочник, не труба. И не ждите, что ваш привычный набор MCP-инструментов для сайта или Одноклассников внезапно научится MAX: публикации в MAX там нет, нужен отдельный сервер на Bot API.

Три строки в mcp.json — и не светите токен в чат

Чеклист записи max-messenger в mcp.json с токеном в env

Файл либо в проекте — .cursor/mcp.json, либо глобально в домашнем каталоге. Если имена серверов совпали, побеждает проектный. Суть записи: сервер max-messenger, command npx, args «-y» и «@woyax/mcp-max-messenger», в env — MAX_TOKEN с вашим токеном.

На Windows в гайдах часто пишут npx.cmd вместо npx — если сервер не поднимается, начните с этого. Токен держите в env, не в переписке с агентом и не в git. После правки — перезагрузка MCP, статус в Settings → Tools/MCP, при глюках смотрите Output → MCP Logs. Cursor по умолчанию просит approve на вызов tool — это нормально, не отключайте мозг.

chat_id больше не выпадает из списка чатов

С июня 2026 официальный метод списка всех чатов и каналов бота снят. Кто ждёт волшебную кнопку «покажи мои каналы» — получит пустоту или ошибку. Числовой chat_id берут из событий: бота добавили в канал, бот стартовал в диалоге — через long polling GET /updates на тесте или через подписку на webhook, если уже доросли. В событии добавления есть флаг, что это канал. Один раз сохранили id — и живёте с ним.

Путаница user_id и chat_id — классика. Личный диалог — одно, канал и группа — другое. Ник канала вида @что-то API не ест: нужен номер. Написали ник — получили либо отказ, либо тишину, и потом клянёте Cursor.

Как MAX любит токен — и чем community-код отстаёт

Официально токен только в заголовке Authorization — сырым значением, без слова Bearer. В query-параметре токен больше не принимают: старые туториалы и копипаста из Make с access_token в адресе дают 401, и это не «Cursor сломался», а вы принесли вчерашний рецепт. Текст сообщения — до четырёх тысяч символов. В один диалог, чат или канал — не чаще двух сообщений в секунду; общий ориентир API — до тридцати запросов в секунду. 401 — токен. 429 — вы увлеклись.

Docs уже смотрят на platform-api2.max.ru и доверенный TLS, в том числе цепочку Минцифры. Самый удобный npm-пакет под Cursor в исходниках всё ещё целится в старый host и продолжает звать список чатов. Отсюда п@зд@ц новичка: вроде MCP «подключён», а id канала нет, токен «как в гайде» — и тишина. Не обещайте себе «официальный api2 из коробки npm». Обещайте: бот-токен, Authorization без Bearer, тестовый пост через send_message. Если сыпется — сверяйте домен и сертификат с актуальной документацией MAX, а не с первым попавшимся README 2025 года.

Тестовый пост — и всё, на сегодня хватит

Бота добавили в канал, права админа есть, chat_id записан, MCP зелёный. В чате Cursor спокойно просите агента вызвать send_message с коротким текстом вроде «проверка из Cursor». Approve. Смотрите канал. Если сообщение на месте — первый вечер закрыт. Медиа, retry, продакшен-webhook, очередь из таблицы — завтра. Сегодня вы доказали трубу: агент пишет в MAX без копипаста.

Что обычно ломает картину: токен в URL, Bearer в заголовке, бот не в канале или без админки, @ник вместо числа, ожидание списка чатов, токен в закоммиченном mcp.json. И отдельный вид спорта — поставить не тот MCP, потому что в выдаче «max mcp» мессенджера почти не видно.

Make и зеркала из ВК — не сегодня

У Make нативного модуля MAX нет: там HTTP на POST …/messages плюс очередь в таблице. Это нормальный завод, когда постов много и нужна дисциплина. Кросспост из ВК или Telegram закрывает другой вопрос — «отразить уже существующую ленту», а не «агент в Cursor опубликовал мысль». Не смешивайте intent в одном вечере: иначе соберёте оркестр и так и не услышите первый звук.

Если потом захотите конвейер с сценариями и очередью — разбирайте отдельно; для связки с автоматизацией имеет смысл клуб обучения по Make. А живые разборы инструментов у агента и контент-завода без воды — в канале maya_pro.

Итог простой до наглости: текст в Cursor не обязан умирать в буфере обмена. Бот, токен, mcp.json, send_message, числовой chat_id. Один approve — и в MAX уже не пусто. Остальное — когда перестанет быть стыдно копировать руками.