Kutto в вашем ИИ-агенте

MCP-коннектор даёт Claude, Cursor и любому клиенту Model Context Protocol те же руки, что у вас в Kutto: посмотреть, что залетело у конкурентов, нарезать клипы из ролика, собрать черновик и поставить его в расписание. Вы пишете задачу словами — агент делает её инструментами и показывает результат.

94 инструментов

Шпион, Студия, посты, медиа, аналитика, база знаний и Пульс — по разрешениям.

Публикация — отдельно

Готовить черновики агенту можно, а публиковать — только с отдельным разрешением ключа.

Ключ не шире вас

Роль в организации и выданные каналы ограничивают ключ; у ключа есть дневной потолок.

Подключение

Адрес сервера (Streamable HTTP): https://kutto.app/mcp

  1. Клиенты с OAuth (коннекторы Claude в вебе и на десктопе): добавьте адрес как пользовательский коннектор, войдите в Kutto и выберите, какие разделы открыть агенту. Ключ копировать не нужно.
  2. По ключу (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.

MCP-коннектор Kutto — Шпион, Студия и публикации из Claude, Cursor и других агентов