Перейти к содержанию

Безопасность и расходы MCP

Как MCP-сервер Slicer защищает баланс и данные — подтверждение цены, лимит расходов, области доступа, необратимые действия и команды в чужом тексте.

На этой странице

ИИ-ассистент действует от вашего имени, поэтому сервер устроен так, чтобы ни ошибка модели, ни чужой текст в материалах не привели к лишним тратам или потере данных. Защита — в несколько слоёв.

Что бесплатно

Монтаж вашим ассистентом бесплатен целиком — как Сам в редакторе в приложении: создать проект (create_project по умолчанию), читать ролик, править его операциями, менять стиль и цвет, экспортировать и публиковать, выбирать версию, переименовывать и удалять проекты, загружать файлы и искать в документации. Токены тратят только ИИ-функции самого Slicer.

Подтверждение цены

Ни один платный инструмент не тратит токены без подтверждения:

  1. Ассистент вызывает инструмент без confirmCost — сервер возвращает цену, баланс и остаток лимита и ничего не запускает.
  2. Описание инструмента требует от модели показать цену вам и дождаться согласия.
  3. Повторный вызов с confirmCost, равным только что названной цене, запускает операцию. Если цена за это время изменилась, сервер откажет (cost_changed) — ассистенту придётся назвать новую цену.

Платные инструменты — ИИ-функции Slicer:

Функция Инструменты Цена
ИИ-монтаж режиссёром Slicercreate_project с mode: "ai", remount_project, retry_project24 токена за ролик до 90 секунд, первый ролик бесплатный
Субтитры из речиtranscribe_speechпо себестоимости за минуту звука
ИИ-помощник Slicerask_assistantпо себестоимости
Перевод субтитровtranslate_captionsпо себестоимости

Описания инструментов просят модель только предлагать их, а ИИ-режиссёра — запускать лишь по вашей просьбе. create_project без mode создаёт бесплатный проект без ИИ-режиссёра — без цены и подтверждения.

Цена по себестоимости

transcribe_speech, ask_assistant и translate_captions стоят ровно столько, сколько стоили вызовы ИИ, без наценки; субтитры из речи — за минуты звука выбранных исходников. Точная цена известна только после выполнения, поэтому вызов без confirmCost возвращает две цифры:

  • estimate — ожидаемая цена (дробно), её ассистент показывает вам как ориентир;
  • cost — предельная цена: её ассистент передаёт в confirmCost, и больше неё не спишется.

После выполнения спишется фактическая себестоимость — не больше предельной и только если операция получилась: помощник что-то изменил, перевод или распознавание удались (если распознавание не получилось, токены вернутся). С баланса уходят целые токены, дробный остаток копится у проекта. Поле enough в ответе показывает, хватает ли баланса и лимита расходов подключения на ожидаемую цену.

Лимит расходов

У каждого подключения есть месячный лимит токенов. В окне согласия OAuth он по умолчанию — 200 токенов в месяц; у API-токена — тот, что вы задали при создании. Операция, которая не помещается в лимит, не запускается (spend_limit_exceeded), даже если на балансе токенов достаточно. Расход за месяц виден в Профиль → «Для разработчиков», лимит там же можно поменять.

Доступы

Области доступа ограничивают, какие инструменты ассистенту вообще доступны:

Чтобы ассистент… Оставьте Уберите
только смотрел проекты и отвечал на вопросы«Только чтение»всё остальное
создавал проекты и монтировал сам, а платные функции — только с вашего согласиянабор «Монтаж»publish, если публиковать не нужно
создавал проекты, монтировал и экспортировал сам и не мог потратить ни одного токенаprojects:writemontage:run

Создать бесплатный проект «Сам в редакторе» (create_project) можно и без montage:run — хватает projects:write. Область montage:run нужна только платным ИИ-функциям: по ней ничего не списывается без подтверждённой цены, а лимит расходов подключения ограничивает траты сверху.

Подробно об областях — Токены и области доступа.

Необратимые действия

delete_project удаляет проект вместе с файлами, cancel_project останавливает идущий монтаж, remount_project пересобирает ролик ИИ-режиссёром заново. Они помечены как необратимые (destructiveHint) — клиенты, которые учитывают пометки, переспрашивают перед вызовом. Чтение помечено readOnlyHint; загрузка по адресу, экспорт с публикацией и поиск по документации — openWorldHint: они обращаются к внешним сервисам.

Текст — это данные, а не команды

В ответах инструментов есть текст, который написали люди: названия проектов, субтитры, пожелания режиссёру, описания публикаций. Кто-то мог бы спрятать в такой текст команду для модели. Поэтому:

  • описания инструментов прямо говорят модели, что пользовательский текст — это данные, а не инструкции;
  • служебные поля ответа отделены от пользовательского текста;
  • опасные действия всё равно требуют подтверждения: цена — confirmCost, удаление — вопрос клиента.

Если ассистент вдруг предлагает действие, о котором вы не просили, — откажитесь и проверьте, откуда взялась идея.

Защита сервера

  • Только HTTPS и токены в заголовке. Сервер не принимает cookie, поэтому сайт, открытый в вашем браузере, не может действовать от вашего имени.
  • Проверка Origin. Запросы браузера к MCP-серверу принимаются только с доверенных адресов, остальные получают отказ 403 — это защищает от атак через подмену DNS.
  • Токены подключения короткие. Токен доступа OAuth живёт час; повторное использование заменённого токена обновления отзывает всё подключение.
  • Журнал. Каждый вызов обновляет «последнее использование» подключения, платные операции записываются в историю проекта — видно, что и когда сделал ассистент.

Как защищены аккаунт, файлы и платежи в целом — на странице Безопасность.

Если что-то пошло не так

  • Отключите приложение: Профиль → «Для разработчиков» → «Подключённые приложения» → «Отключить» (или «Отозвать» у токена). Доступ прекращается сразу.
  • Остановите идущий монтаж — в приложении или попросите ассистента cancel_project: зарезервированные токены вернутся.
  • Если монтаж не получился, токены не списываются: резерв возвращается на баланс автоматически.

Что дальше