Отмена MCP-запроса не означает откат бизнес-действия

Обрабатывайте отмену как сигнал прекратить дальнейшую работу там, где это возможно. Уже выполненное внешнее действие не исчезает автоматически после закрытия окна или уведомления об отмене.

Где появляется ошибка

Пользователь запускает выгрузку и нажимает «Отмена». Сервер успел создать файл и отправить уведомление, но ещё формирует итоговый ответ. Если интерфейс пишет «ничего не сделано», он вводит пользователя в заблуждение. Для другого инструмента отмена вообще может прийти после завершения. Нужно различать остановку вычисления, отмену намерения и отдельную компенсирующую операцию.

Рабочее решение

Определите безопасные точки остановки и статусы: запрошена отмена, остановлено до эффекта, завершено до отмены, требуется проверка результата. В спецификации MCP версии 2025-06-18 есть уведомление отмены, но бизнес-откат задаёт ваше приложение. Длительные обработчики должны периодически замечать сигнал, освобождать ресурсы и сохранять состояние. Если удаление уже созданного файла допустимо, оформляйте его как отдельное проверяемое действие, учитывая права и возможное использование файла.

Контрольные случаи

ПроверкаОжидаемое поведение
Отмена до обращения к внешнему сервисуПобочный эффект не выполнен, статус остановки подтверждён сервером, ресурсы задания освобождены.
Отмена после создания файлаИнтерфейс сообщает фактический результат и не обещает несуществующий автоматический откат.
Поздняя отмена завершённого заданияНе возникает повторной компенсации или случайного удаления результата, который пользователь уже получил.

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

Некоторые внешние системы не дают прервать операцию. Тогда корректный интерфейс показывает это ограничение и предлагает проверку статуса; попытка скрыть неопределённость опаснее честного незавершённого состояния.

Разработка MCP-сервера требует согласовать жизненный цикл запросов с реальными действиями и ожиданиями пользователя. В платном курсе AI Agent Integrations PRO: MCP можно продолжить изучение соответствующего инженерного направления. Перед покупкой сравните программу и открытые материалы со своей задачей.

Описанный протокольный контракт относится к версии 2025-06-18; для другой согласованной версии клиента и сервера сверьте соответствующую спецификацию.

Документация для проверки технических деталей: Отмена MCP: спецификация 2025-06-18.

Следующий шаг: MCP-интеграции: контракты инструментов, ошибки и доступ. По смежным вопросам: Структурированный ответ MCP tool: как не потерять типы данных, MCP stdio не подключается из-за логов в stdout.