Перейти к содержимому
Инвойсбокс
Инвойсбокс
Login iconВойти

Элиситация — как MCP-сервер задаёт вопрос человеку

Элиситация (elicitation) — механизм протокола MCP, которым сервер прямо во время вызова просит ассистента задать человеку вопрос. Для денежных операций это способ получить явное «да» до списания.

3 минИнвойсбокс
Элиситация — как MCP-сервер задаёт вопрос человеку

Элиситация — механизм, которым MCP-сервер прямо во время вызова просит ассистента задать человеку вопрос и дождаться ответа. Слово пришло из английского elicitation, «выявление, получение сведений». Для платёжного сервера это штатный способ превратить подтверждение денежной операции из двух отдельных вызовов в один шаг: сервер показал сводку — человек ответил — сервер исполнил.

Как это устроено

При установлении связи клиент сообщает серверу, что умеет, в том числе умеет ли задавать вопросы человеку. Если умеет, сервер в нужный момент возвращает не результат, а запрос: текст вопроса и схему ожидаемого ответа. Клиент показывает вопрос человеку, собирает ответ и передаёт его серверу. Человек может согласиться, отказаться или просто закрыть диалог — и это три разных исхода.

В MCP-сервере Инвойсбокс вопрос ровно один и из двух вариантов: «да» или «нет». Принимается только явное согласие; всё остальное, включая закрытый диалог, считается отказом — молчание не проходит за разрешение. Если клиент вопросы задавать не умеет, сервер не пытается спрашивать и возвращается к двухфазной схеме: сводка операции, затем отдельный вызов с токеном подтверждения. Отсутствие удобной функции у клиента не превращается в тихое исполнение операции.

Что запрещено спрашивать

Спецификация прямо запрещает запрашивать через форму элиситации чувствительные данные: пароли, ключи доступа, платёжные реквизиты. Для таких сведений предусмотрены другие механизмы — например, вход по стандарту OAuth с экраном согласия, где человек видит, что именно разрешает.
Есть и менее очевидное правило, которое держится на стороне сервера: подтверждающее значение должен ввести человек. Если для крупной суммы нужно назвать её отдельно, это поле нельзя подставлять автоматически или брать из предыдущего ответа модели — значение, пришедшее от той же стороны, которая собрала операцию, подтверждением не считается.

Интересные факты

  • Сообщение, которое человек видит в диалоге подтверждения, сервер Инвойсбокс собирает только из шести известных полей — сумма словами, сумма возврата, покупатель, номер заказа, признак отгрузки и признак завершающего шага, — и каждое проходит очистку с лимитом 120 символов. Чужой текст, например наименование контрагента из реестра, в этот экран не попадает в сыром виде (см. промпт-инъекция).
  • Редакция протокола от 28 июля 2026 года переставила опоры: протокол стал бессессионным, а вопрос человеку оформляется возвратом «нужны данные» с повторным вызовом от клиента. На поведение с деньгами это не влияет — предохранители живут в коде сервера.
  • Крупные платёжные игроки уводят момент подтверждения от чата к устройству: в демонстрациях подтверждение привязки делается через passkey — отпечатком или лицом вместо пароля.
  • Индустрия сходится на мысли, что диалог одобрения сам по себе ничего не контролирует: подтверждение держится на подписанном токене или мандате, а диалог лишь его получает.

Коротко

  • Элиситация — запрос от сервера к человеку прямо во время вызова.
  • Для денег: один вопрос «да/нет», только явное согласие, закрытый диалог — отказ.
  • Пароли, ключи и реквизиты через элиситацию спрашивать запрещено.
  • Если клиент не умеет спрашивать, сервер возвращается к двухфазному подтверждению.

Полезно

AI-инвойсинг: счета через ассистента — подробнее →

#MCP#ИИ-агенты#безопасность