Площадка работает · постим в аккаунт сами, 280 знаков и до четырёх картинок
Постить в X из Cursor
Cursor публикует в ваш аккаунт X, не выходя из редактора: собрал строку про релиз — отправил. Всё остальное в этой паре — про тесноту. 280 знаков, до четырёх картинок, ссылка в тексте по умолчанию не пропускается, а правки у X нет вовсе: ни у нас, ни у самого API. Ниже фразы, которые работают, и то, на чём эта пара спотыкается чаще всего.
Что сказать Cursor, чтобы пост ушёл в X
запости в аккаунт с ярлыком «твиттер»: «Вышла 1.4.0 — теперь конфиг читается из проекта». Ссылку на релиз дай вторым сообщением
Cursor зовёт smmly_post с tags и полем firstComment. Ярлык здесь обязателен: в поле providers у инструмента только telegram, vk и max, и просьба «запости в X» без ярлыка обычно кончается отказом по схеме. Второе сообщение уходит ответом на ваш же пост — это штатный приём X и единственный способ дать ссылку, не поднимая цену самой публикации.
сожми это до 280 знаков и покажи мне, прежде чем отправлять
Полезная привычка именно для X: 280 знаков — предел площадки, и мы считаем по нему всех, без скидки на премиум. Текст, который агент собрал из строки коммита или заголовка PR, обычно длиннее, и отказ приходит на этапе постановки в очередь, строкой вида «текст 341 знак при пределе 280». Показ до отправки экономит круг: агент видит настоящую длину, а не «примерно влезет».
убери из текста переменные окружения, X считает их тикерами
Звучит дико, пока не наступишь. Всё, что стоит после доллара — `$PATH`, `$HOME`, `$SMMLY_MCP_TOKEN`, — читается как биржевой тикер, а больше одного за пост X не принимает. Текст, скопированный из README про переменные окружения, отбивается с прямой строкой «тикеров через доллар 3, X принимает только один». Проще всего переписать переменные словами или убрать доллар.
приложи скриншот из docs/img и запости
Файл в репозитории публичного адреса не имеет, поэтому Cursor кладёт его через smmly_upload_media и передаёт ответ полем media. Картинок в пост влезает до четырёх, каждая не тяжелее 5 МБ — больше X принимает только чанковой загрузкой, которой мы не делаем. Видео в X мы не отправляем вовсе: пост с роликом уедет текстом и картинками, ролик просто не поедет.
Что нужно, чтобы это заработало
Подключите Cursor к Smmly
Адрес и заголовок в mcp.json, перезапуск редактора. Где лежит файл, чем глобальный отличается от проектного и почему envFile для удалённого сервера бесполезен — на странице клиента.
Подключение Cursor →Подключите аккаунт X — двумя способами
В кабинете, в разделе каналов: «Войти через X» — экран согласия, право писать посты, возврат, аккаунт уже в списке, ключей вы не видите вовсе. Запасной путь — своё приложение на developer.x.com: права «Read and write», тип «Web App, Automated App or Bot», четыре ключа сюда. Разница не в удобстве, а в том, кто платит за публикации: у X с февраля 2026 нет бесплатного тарифа, и на своих ключах счёт идёт вам, а не нам.
Подключить каналы →Повесьте на аккаунт ярлык — без него никак
X не адресуется по площадке: в поле providers инструмента его нет, там только телеграм, ВК и MAX. Остаются ярлык и точечный id, и ярлык удобнее — «запости в твиттер» агент понимает сразу. Ставится в кабинете или той же фразой: «повесь на аккаунт X ярлык твиттер».
Что доезжает в X
- Длина поста
- 280 знаков — считаем по обычному аккаунту, не по премиуму
- Картинки
- до 4, каждая до 5 МБ
- Видео
- не отправляем
- Второе сообщение
- есть — уходит ответом на ваш же пост
- Правка и снос
- нет: правки постфактум у API X не существует вовсе
- Ключи
- своё приложение X или вход кнопкой
🔴 В поле providers X нет: инструмент знает там telegram, vk и max, и providers: ["x"] будет отказом по схеме. Аккаунты X адресуются ЯРЛЫКОМ или channelIds. Остальное упирается в 280 знаков: агент, который пишет пост «как обычно», почти всегда получает отказ валидатора ещё до очереди.
Обо что спотыкается эта пара
Ссылка на релиз — это отказ, а не опечатка
Пост со ссылкой стоит у X примерно в тринадцать раз дороже обычного, поэтому по умолчанию мы такие не пропускаем и объясняем почему. Для Cursor это встречается в первый же день: строка про релиз без ссылки на тег или PR почти не пишется. Рабочих путей два. Первый — дать ссылку вторым сообщением: оно уходит ответом на ваш пост, лежит там же и стоит как обычный. Второй — включить на канале галочку «Разрешить ссылки», если вы согласны с ценой. Учтите, что ссылкой мы считаем и голый домен: `smmly.ru` в тексте сработает так же, как полный адрес.
280 знаков считаются по обычному аккаунту
Даже если у вас премиум с его четырьмя тысячами, наш валидатор об этом не знает: предел — свойство конкретного аккаунта, а мы считаем по площадке. Так что 280 и точка. Практика простая: одна мысль на пост, и просить агента сокращать до отправки, а не после отказа. Второе сообщение здесь тоже помогает — длинный хвост уезжает ответом, а в основной пост попадает одна строка.
Повтор после таймаута в X опаснее, чем везде
У создания поста в X нет ни ключа идемпотентности, ни дешёвого способа переспросить «а он создался?». Поэтому неизвестный исход мы объявляем окончательным: если запрос ушёл, а ответ не вернулся, пост помечается ошибкой и НЕ повторяется — иначе в ленте оказались бы два одинаковых поста, оплаченных дважды. В ответе агенту так и будет написано: проверьте ленту. Cursor же после долгой паузы склонен позвать инструмент ещё раз; в пределах пяти минут это безопасно — точно такая же просьба вернёт уже созданный замысел, — а дальше это будет второй пост, и снять его мы не сможем.
Опубликованное в X не правится и не удаляется
Тут даже говорить не о чем: правки постфактум у API X не существует вовсе, кнопка Edit живёт только в приложении и только у премиума, а снос мы не реализуем. Поэтому smmly_edit_post и smmly_cancel_post по строке X отвечают отказом — и в том же ответе телеграм из соседней строки может спокойно переписаться, это нормально. Единственная страховка — отложка: поставьте пост на несколько минут вперёд и вычитайте его в календаре, пока он ещё замысел, а не запись в ленте.
Частые вопросы
Почему «запости это в X» не срабатывает?
Потому что агент честно кладёт в поле providers значение "x", а инструмент такого значения не знает: там перечислены телеграм, ВК и MAX, и приходит отказ по схеме. Это не поломка подключения — аккаунт X виден в списке каналов и постить в него можно, просто адресуется он ярлыком или точечным id. Скажите «запости в твиттер», где «твиттер» — ярлык, который вы повесили на аккаунт.
Кто платит за публикации в X?
Зависит от того, как подключён аккаунт. Вход кнопкой идёт через наше приложение — за эти посты платим мы. Свои четыре ключа с developer.x.com означают ваше приложение и ваш счёт. Разница заметна как раз на постах со ссылкой: они примерно в тринадцать раз дороже обычных, и именно поэтому по умолчанию заперты.
Как отправить в X кусок кода?
Никак осмысленно. Разметки X не понимает ни в каком виде — теги мы снимаем перед отправкой, иначе в ленте окажется `<b>` буквами, — а 280 знаков не оставляют места сниппету. Если код нужен, отдавайте его картинкой (до четырёх, каждая до 5 МБ) или ссылкой на gist во втором сообщении.
Один пост в X и в телеграм — одной фразой?
Да, если на аккаунте и на канале стоит общий ярлык. Только текст разводите сразу: то, что нормально читается в телеграме, в X почти наверняка не влезет, а проверка идёт по всем площадкам до записи — не прошло по одной, не создаётся ничего. Поле textByProvider для этого и заведено, и Cursor умеет отдать два варианта одним вызовом.
Ссылка на опубликованный пост придёт?
Да, вида x.com/ваш_ник/status/… — ник мы запоминаем при подключении, потому что по внутреннему id адрес в X не собирается. Спросите «что с последним постом»: в ответе будет состояние по каждому каналу и адрес опубликованного. Метрики поста мы тоже снимаем — показы, лайки, репосты и ответы, — но их видно в кабинете, а не в переписке с агентом.
из Cursor в другие площадки
- Постить в Телеграм из Cursorпостим в канал сами, поле поста доезжает целиком
- Постить в ВК из Cursorпостим на стену сообщества сами, вместе с картинками
- Постить в MAX из Cursorпостим в канал сами, через нашего бота-администратора
- Постить в Дзен из Cursorпрямого постинга нет: публикуем в телеграм-канал, Дзен забирает оттуда сам
Постить в X из других агентов
Конфиг подключения, пути к файлам и грабли самого клиента — на странице постинга из Cursor. Лимиты площадки, подключение канала и что умеет сам X — на его посадочной. Общая инструкция по MCP — здесь, поля инструментов и коды ошибок — в технической справке.
Пусть посты ставит агент
7 дней полного доступа за 10 ₽ — подключите каналы, возьмите ключ и проверьте на своих постах.
Попробовать за 10 ₽