Kutto в вашем ИИ-агенте
MCP-коннектор даёт Claude, Cursor и любому клиенту Model Context Protocol те же руки, что у вас в Kutto: посмотреть, что залетело у конкурентов, нарезать клипы из ролика, собрать черновик и поставить его в расписание. Вы пишете задачу словами — агент делает её инструментами и показывает результат.
Шпион, Студия, посты, медиа, аналитика, база знаний и Пульс — по разрешениям.
Готовить черновики агенту можно, а публиковать — только с отдельным разрешением ключа.
Роль в организации и выданные каналы ограничивают ключ; у ключа есть дневной потолок.
Подключение
Адрес сервера (Streamable HTTP): https://kutto.app/mcp
- Клиенты с OAuth (коннекторы Claude в вебе и на десктопе): добавьте адрес как пользовательский коннектор, войдите в Kutto и выберите, какие разделы открыть агенту. Ключ копировать не нужно.
- По ключу (Claude Code, Cursor, свои агенты): выпустите ключ в Настройки → MCP, отметьте разрешения и, если нужно, привяжите ключ к одной организации. Ключ показывается один раз.
claude mcp add kutto --transport http https://kutto.app/mcp \ --header "Authorization: Bearer plmcp_…"
{
"mcpServers": {
"kutto": {
"url": "https://kutto.app/mcp",
"headers": {
"Authorization": "Bearer plmcp_…"
}
}
}
}Что спросить
- «Что залетело у моих конкурентов за неделю и почему?»
Агент берёт ленту Шпиона, отбирает посты с аномальными просмотрами и разбирает, чем они цепляют: хук, формат, длина.
- «Нарежь шортсы из этого выпуска: https://youtu.be/…»
Создаёт проект в Студии, ждёт разбор и возвращает найденные моменты с таймкодами — отбирать можно в чате или в ленте Kutto.
- «Собери черновик по лучшему посту конкурента и поставь на пятницу в 18:00»
Готовит подпись и черновик, проверяет требования площадок и ставит в расписание, если у ключа есть разрешение на публикацию. В клиентах с MCP Apps черновик показывается превью прямо в чате.
Готовые сценарии есть и в меню промптов клиента: «Что залетело у конкурентов», «Черновик по залетевшему посту», «Мой канал против конкурентов», «Неделя контента из базы знаний», «Шортс из ссылки».
Инструменты и разрешения
Общее
Доступно без отдельного разрешения: кто я и что этому ключу открыто.
whoamiВозвращает id пользователя-владельца ключа и выданные разрешения (scopes). Диагностика.
Шпион
spy:read — Профили, лента, посты, статистика, папки.
spy_list_profilesВозвращает профили под наблюдением Шпиона. Опционально фильтр по папке.spy_get_profileВозвращает карточку отслеживаемого профиля с последним AI-разбором.spy_feedВозвращает ленту постов по всем профилям (или по папке). Постраничная (nextCursor).spy_profile_postsВозвращает посты одного отслеживаемого профиля. Постраничная выборка с фильтрами.spy_profile_statsСчитает аналитику профиля: вовлечённость, частота постинга, типы контента, топ-хэштеги, лучший час, динамика подписчиков, топ-посты.spy_list_foldersВозвращает папки профилей (id, название, цвет, количество).spy_get_postВозвращает пост отслеживаемого профиля с media[] (вся карусель) для детального разбора.
spy:write — Добавить/удалить/обновить профиль, папки, докачать посты.
spy_add_profileСтавит Instagram-профиль на отслеживание. handle — username, ссылка на профиль/пост/reel. Сбор данных запускается в фоне.spy_remove_profileСнимает профиль с отслеживания и чистит кеш превью. Необратимо.spy_refresh_profileПересобирает данные профиля синхронно (свежие посты и метрики) и возвращает обновлённую карточку.spy_load_earlier_postsПодгружает более ранние посты профиля через пагинацию (best-effort).spy_set_profile_foldersЗаменяет набор папок профиля целиком. Пустой массив — убрать из всех папок.spy_create_folderСоздаёт папку для группировки профилей.spy_update_folderМеняет название и/или цвет папки.spy_delete_folderУдаляет папку (профили остаются, лишь убираются из неё).spy_mark_seenГасит бейдж «N новых» у профиля (фиксирует текущий момент как «просмотрено»).spy_remake_to_composerСоздаёт из готового ремейка (см. spy_remake) черновик поста в композере (подпись/тип предзаполнены; медиа добавляется отдельно — чужие файлы не репостим). Возвращает postId.spy_add_post_to_draftСоздаёт пустой черновик в композере, привязанный к этому посту-референсу. Черновик ПУСТОЙ: ни подписи, ни медиа — чужой текст и чужие файлы не репостим, оригинал видно в панели референса. Без AI и платных вызовов. Возвращает postId.spy_ingest_postsКладёт собранные КЛИЕНТОМ (браузер с активной IG-сессией) посты в Шпион как «обнаруженные»: сервер сам в Instagram НЕ ходит и медиа не качает — нет риска бана по IP. Создаёт/обновляет профиль и посты, дописывает снапшоты метрик. Идемпотентно. После — работают spy_add_post_to_draft и spy_save_to_board. media[] = [{ kind:image|video, url, thumbnailUrl }] или children[] = [{ isVideo, displayUrl }]; url — уже доступные (локальные /files или прямые), сервер их не загружает.spy_save_to_boardКладёт пост-конкурент в Борд идей с заметкой-анализом (note: «почему залетело», что переиспользовать). Идемпотентно (upsert). Пост уже должен быть в Шпионе (spy_ingest_posts).
spy:analyze — Запуск AI-разбора профиля и ремейка чужого поста. Платно: вызовы модели пишутся в журнал расхода организации.
spy_analyze_profileЗапускает AI-разбор профиля (сводка, топ/аутсайдеры, паттерны вирусности, рекомендации, идеи постов). ПЛАТНО: вызов модели пишется в журнал расхода организации. Перед запуском у профиля должны быть собранные посты.spy_remakeЗапускает AI-ремейк поста под себя: format=script (сценарий) или carousel (карусель). Для reel/video идёт по ссылке, иначе по подписи. ПЛАТНО (журнал расхода). Возвращает AiJob — затем spy_remake_to_composer.
Аналитика
analytics:read — Обзор постов, инсайты аккаунта и медиа опубликованного.
analytics_posts_overviewПоказывает, что и куда опубликовано: пост, аккаунт, ссылка на площадке, превью, время. БЕЗ ЦИФР — они живут на площадке, за ними в analytics_account_media.analytics_account_insightsВозвращает живую статистику подключённого аккаунта: профиль (подписчики/публикации), дневной reach и суммарные просмотры за период.analytics_account_mediaВозвращает посты подключённого аккаунта прямо из Graph API / YouTube со встроенными инсайтами (включая посты до подключения Kutto).
Посты
posts:read — Список и карточки постов, валидация черновика.
posts_listВозвращает посты организации с фильтрами (статус, платформа, период, архив, поиск по подписи).posts_getВозвращает пост целиком: контент, медиа, цели, статус.posts_validateПроверяет валидность поста под каждый целевой аккаунт (без сохранения) — лимиты, тип контента, требования платформы.
posts:write — Создать/изменить черновик, расписание, дубль, архив, удаление, отправка на согласование.
posts_createСоздаёт черновик поста. Медиа добавляй через media_* и передавай media_asset_ids; цели — target_account_ids.posts_updateОбновляет пост целиком (контент, медиа, цели, расписание). Передавай актуальные поля целиком.posts_scheduleМеняет время публикации поста. scheduled_at=null снимает время. В очередь пост это НЕ ставит: черновик с временем так и останется черновиком, пока его не поставят posts_queue (нужен posts:publish).posts_duplicateСоздаёт копию поста как новый черновик. Медиа и цели копируются, расписание и статус — нет: копия всегда черновик.posts_archiveПомещает пост в архив.posts_unarchiveДостаёт пост из архива.posts_deleteУдаляет пост мягко (deletedAt).posts_submit_for_approvalПереводит пост в статус ожидания согласования. Публикации это не запускает — её запускает согласование.posts_rejectОтклоняет пост на согласовании (возврат в черновик).posts_unqueueУбирает пост из очереди публикации (возврат в черновик).
posts:publish — Опасное: постановка в очередь публикации / публикация сейчас, включая согласование поста. Держи отдельно.
posts_queueСтавит пост в очередь публикации. ОПАСНО: пост уйдёт в эфир по расписанию, publish_now=true — немедленно. Требует разрешение posts:publish.posts_approveОдобряет пост на согласовании. ОПАСНО: одобрение СРАЗУ ставит пост в очередь публикации, а при пустом расписании — на «сейчас». Поэтому требует posts:publish, как и posts_queue.
AI-инструменты
ai:read — Задачи (jobs), бренд-войсы, шаблоны промптов.
ai_list_jobsВозвращает последние AI-задачи организации (фильтр по типу). Используй ai_get_job для результата.ai_get_jobВозвращает AI-задачу с результатом и статусом — опрашивай после запуска генерации. Переписки с моделью в ответе нет: там система-промт установки, наружу он не уходит.ai_list_brand_voicesВозвращает сохранённые tone-of-voice организации. id можно передавать в генерации (brand_voice_id).ai_list_prompt_templatesВозвращает шаблоны промптов: системные (isSystem) плюс свои. id можно передавать в ai_run_script (prompt_template_id).
ai:write — Запуск генераций (сценарий, карусель, подпись, разборы). ПЛАТНО (журнал расхода).
ai_run_scriptЗапускает генерацию сценария по идее и/или ссылке-референсу. ПЛАТНО (журнал расхода). Возвращает AiJob.ai_continue_scriptОтправляет реплику в существующую script-джобу (итеративная доработка).ai_run_carouselГенерирует текстовую карусель из темы (source=text) или видео по ссылке (source=video). ПЛАТНО (журнал расхода).ai_run_captionГенерирует подпись, заголовок или хэштеги (без AiJob, но вызов модели платный). Возвращает variants[].ai_run_video_analysisРазбирает видео (reel/tiktok/youtube) по ссылке. ПЛАТНО (журнал расхода). Возвращает AiJob.ai_run_profile_analysisРазбирает профиль Instagram/TikTok по username. ПЛАТНО (журнал расхода). Возвращает AiJob.
Медиа
media:read — Список медиа-ассетов воркспейса.
media_listВозвращает медиатеку организации (id, тип, публичный url). id → posts_create.media_asset_ids.
media:write — Добавить медиа по URL или base64, удалить ассет.
media_add_externalСкачивает медиа по https-ссылке и сохраняет как ассет воркспейса. Возвращает ассет с id.media_uploadЗагружает файл из base64 (≤50 МБ) как ассет воркспейса. Опциональный data:-префикс снимается.media_removeУдаляет файл медиатеки мягко.
Студия
studio:read — Проекты нарезки, найденные моменты, клипы и ссылки на готовые файлы.
studio_list_projectsВозвращает проекты Студии: статус, сколько клипов, когда создан. Свежие сверху. Отдаёт страницу, а не всё разом — за старыми ходи через offset.studio_get_projectПоказывает, где проект: качается, разбирается, готов. Прогресс, длительность исходника, сколько найдено моментов и сколько клипов уже взято в работу. Транскрипт и разметку не отдаёт — они огромные.studio_list_momentsВозвращает найденные в исходнике моменты: таймкоды, заголовок, оценка (0–100), причина и ярлыки. `taken` — момент уже взят в работу. Индекс отсюда идёт в studio_take_moments.studio_list_clipsВозвращает клипы проекта: статус рендера, ссылка на готовый файл и на огрызок-превью, id поста, если клип уже отправлен в ленту. Сюда же попадают кандидаты из ленты отбора (reviewStatus=pending) — взятые в работу отмечены approved. status=done при renderStale=true значит, что файл старше правок.studio_search_soundsИщет в общем пуле музыки и эффектов. Найденную позицию надо перенести в медиатеку воркспейса (studio_add_sound), и только потом ставить на дорожку.studio_search_footageИщет видео-план в корпусе материала ПО СМЫСЛУ, а не по словам в названии: «ночной город сверху», «руки за клавиатурой». Русский запрос переводится сам. Найденное надо перенести в медиатеку (studio_add_footage), и только потом ставить вставкой.
studio:write — Создать проект из ссылки и отправить готовый клип в ленту черновиком. Создание проекта тратит трафик и платные вызовы моделей.
studio_create_projectСоздаёт проект Студии — из ссылки на видео (YouTube, VK, прямая ссылка) ЛИБО из уже загруженного файла (media_upload). Дальше исходник качается и разбирается на моменты в фоне — следи через studio_get_project. ТРАТИТ трафик и платные вызовы моделей.studio_publish_clipДелает из готового клипа черновик поста на выбранный канал. Дальше — обычные posts_* (подпись, расписание, очередь). Клип должен быть отрендерен (и не renderStale). Если у канала включён автопилот, черновик сразу встаёт в его очередь — смотри scheduledAt.studio_create_clipСоздаёт клип из куска исходника проекта. Рендер НЕ запускает — сначала настрой монтаж (studio_edit_clip), потом studio_render_clip. Исходник к этому моменту должен быть скачан.studio_edit_clipСобирает клип: какие куски исходника оставить, что со звуком, какую музыку подложить, что наложить поверх кадра. Передавай только то, что меняешь — остальное остаётся как было. Готовый файл после правки устаревает: нужен studio_render_clip.studio_add_soundПереносит позицию пула в медиатеку воркспейса и возвращает id ассета — его и ставят в studio_edit_clip.music. Повторный вызов не задваивает.studio_add_footageПереносит план в медиатеку воркспейса и возвращает id ассета — его ставят в studio_edit_clip.overlays. Повторный вызов не задваивает файл.studio_clip_captionsВключает караоке-субтитры и выбирает их вид. Стили: hormozi — Жирный Montserrat ALL CAPS, активное слово — на лаймовой плашке, чистая обводка. mrbeast — Очень крупно, прыжок активного слова и жёлтый акцент, мощная обводка. karaoke — Строка целиком, активное слово плавно красится акцентом. Универсально. band — Тёмная полупрозрачная подложка под текстом — максимально читаемо на любом фоне. neon — ALL CAPS с обводкой и голубым свечением активного слова. minimal — Чистые белые субтитры без обводки, мягкая тень, без украшений. Готовый файл после правки устаревает — нужен studio_render_clip.studio_clip_frameНастраивает форму кадра и то, как в него попадает картинка: вертикаль под шортсы или горизонт, как кадрировать, сплит с удерживающим видео снизу, качество рендера. Готовый файл после правки устаревает — нужен studio_render_clip.studio_clip_voiceПереозвучивает клип на другом языке (дубляж ElevenLabs). ДЕНЬГИ: дубляж считается ЗАНОВО на КАЖДОМ рендере, а не один раз. source — оставить голос исходника.
studio:render — Взять моменты в работу, отрендерить клип, перераспознать речь, посчитать кадр за говорящим. Отдельно от записи: всё это занимает процессор минутами, и ключу «посмотреть и отправить» это не нужно.
studio_take_momentsПревращает выбранные моменты в клипы и ставит их в очередь рендера. Идемпотентно: момент, уже взятый в работу, второй раз не задваивается. ТРАТИТ процессор и время — рендер идёт минуты.studio_render_clipСтавит клип в очередь рендера. Идёт минутами — следи через studio_list_clips, готовый файл появится в outputUrl. ТРАТИТ процессор.studio_clip_retranscribeРаспознаёт речь этого клипа заново и вклеивает результат в транскрипт проекта. Нужна, когда в куске пропали субтитры: распознавание иногда сворачивает полминуты речи в одну фразу. ТРАТИТ процессор. Ручные правки субтитров в ОСТАЛЬНЫХ клипах не трогает.studio_clip_auto_reframeСчитает движущийся кадр 9:16: режет клип по сценам и ведёт кадр за тем, кто говорит. Это не настройка, а РАБОТА — разбор лиц и речи, идёт минутами и занимает процессор. Готовый файл после неё устаревает: нужен studio_render_clip.
Воркфлоу
workflow:read — Список воркфлоу, граф, каталог нод, прогресс выполнения.
workflow_listВозвращает воркфлоу организации (id, название, обновлён).workflow_getВозвращает воркфлоу целиком: ноды и рёбра графа.workflow_catalogВозвращает каталог доступных типов нод (категории, порты, параметры). Читай раз в сессию.workflow_executionПоказывает состояние последнего запуска воркфлоу (статусы нод). Опрашивай после workflow_run.
workflow:write — Создать/переименовать воркфлоу.
workflow_createСоздаёт пустой воркфлоу. Граф редактируется в UI; здесь — заготовка с названием.
workflow:run — Запуск и отмена выполнения воркфлоу (AI-ноды платные — пишутся в журнал расхода).
workflow_runЗапускает выполнение воркфлоу (AI-ноды платные — пишутся в журнал расхода). Опрашивай workflow_execution.workflow_cancel_runОстанавливает текущий запуск воркфлоу по runId.
Аккаунты
accounts:read — Список воркспейсов и подключённых соцаккаунтов.
list_workspacesВозвращает организации, доступные пользователю. Используй полученный id как workspace_id в остальных тулзах (Шпион, Аналитика).list_social_accountsВозвращает подключённые каналы организации (Instagram, YouTube, TikTok). id аккаунта нужен для тулз аналитики (analytics_account_*).
База знаний
knowledge:read — Статьи-лайфхаки по контенту/SMM и шпаргалка-агрегат из данных Шпиона.
knowledge_listВозвращает статьи-лайфхаки по контенту организации (авто-выводы из Шпиона + ручные заметки). Фильтры: раздел, тег, источник, поиск по тексту. Полный текст — через knowledge_get.knowledge_getВозвращает полный текст статьи (markdown) по id — со всеми выводами, цифрами и рекомендациями.knowledge_statsСчитает по разобранным постам Шпиона без модели: какие хуки/форматы/CTA/темы и в какое время дают больше вовлечения, плюс список постов-победителей. Без AI и без платных вызовов.
Пульс
pulse:read — Метрики своих YouTube-каналов: ролики с приростом и удержанием, суточные ряды, портрет аудитории, сводка дня, разбор канала. Только чтение уже собранного: запуск сбора наружу не отдан, квота YouTube общая на инсталляцию.
pulse_channelsВозвращает каналы организации с итогами: подписчики, просмотры за всё время, сколько роликов. Отсюда берётся channel_id для остальных тулз Пульса.pulse_channelВозвращает итоги одного канала и состояние сбора аналитики. Пустые метрики почти всегда значат не «канал новый», а сломавшийся сбор — здесь это видно.pulse_videosВозвращает ролики с просмотрами, приростом и удержанием. Ею же берётся топ: sort=week, dir=desc, limit=10. Окно from/to задаёт произвольный период в прошлом — тогда у каждого ролика появляется period.pulse_channel_seriesВозвращает суточный ряд: просмотры и подписчики на конец каждых суток и прирост за сутки. По нему видно, растёт канал или встал.pulse_video_seriesПоказывает, как ролик набирал просмотры день за днём. Отвечает на «залетел сразу или разошёлся потом».pulse_audienceПоказывает, кто смотрит канал: страны, возраст, пол, устройства, подписчики против остальных, источники трафика. Окно — 28 или 365 суток.pulse_digestСводит, что случилось за сегодня по всем каналам разом: подписчики, просмотры, что вышло и что набрало больше всех.pulse_reportРазбирает свой канал так же, как «Анализ каналов» чужие: ритм публикаций, залетевшие против остальных, лестница просмотров, что общего у заголовков, которые сработали.
Ограничения и приватность
- Инструменты с ИИ (разбор, генерация, транскрибация) расходуют деньги провайдеров. Расход пишется в журнал организации; у ключа можно поставить дневной потолок запусков и долларов, а владелец организации — месячный лимит участнику.
- Частота: до 240 вызовов в минуту на ключ и до 60 запускающих работу — агент в неудачной петле не выжжет очередь.
- Публикация в TikTok до прохождения ревью площадки — только приватными постами; в Instagram — через бизнес-аккаунт.
- Каждый вызов ключа виден в Настройки → MCP: какой инструмент, когда, чем закончился. Отозванный ключ перестаёт работать в течение нескольких секунд.
- Агент видит только организации, в которых вы состоите, и только разрешённые ключу разделы. Как мы храним данные — политика конфиденциальности.
Что-то сломалось или нужен инструмент, которого нет, — напишите на hello@example.com.