Таймаут MCP tool: почему нельзя сразу повторять запись

После таймаута исход операции может быть неизвестен. Перед повтором изменяющего действия проверьте его статус или используйте заранее спроектированный механизм защиты от повторного выполнения.

Разберём рабочий случай

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

Что изменить

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

Как проверить результат

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

Не используйте случайный новый идентификатор для каждого повтора одного намерения: тогда механизм защиты не увидит связи. При настоящем новом заказе, наоборот, нужен новый идентификатор бизнес-операции.

Это бизнес-механизм поверх MCP, а не автоматическая гарантия протокола. При проектировании нужно отдельно учитывать срок хранения операций, конкурентные запросы и возможность частичного исполнения.

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

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

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