У Model Context Protocol появился черновик расширения для передачи файлов между ИИ-клиентами и инструментами. Для разработчиков это закрывает одну из самых неприятных дыр протокола: загрузка файлов MCP до сих пор обычно собиралась из самодельных URL, временных хранилищ и договорённостей, понятных только конкретному серверу.
Расширение пока экспериментальное и не имеет эталонной реализации, но его авторы уже описали механику работы и рассчитывают стабилизировать спецификацию до конца года, сообщает The New Stack. Для команд, которые подключают агентов к облачным хранилищам, песочницам для кода, системам документооборота и внутренним сервисам, это не косметическая правка API, а шанс убрать из интеграций целый класс хрупких обходных решений.
MCP изначально хорошо решал задачу вызова инструментов: агент получает список доступных действий, формирует аргументы, сервер выполняет запрос. Но файл — не обычный JSON-параметр. Попытка передавать его напрямую раздувает контекст, упирается в лимиты сообщений и вынуждает кодировать бинарные данные. Передать модели ссылку на файл тоже не всегда безопасно: URL может быть временным, содержать секретный токен или оказаться доступным не тому получателю. Поэтому каждая команда строила свой мост между чатом, MCP-сервером и хранилищем.
Проект io.modelcontextprotocol/files предлагает вынести сами байты за пределы JSON-RPC и контекста модели. Инструмент помечает файловый аргумент в своей схеме через x-mcp-file. Для небольших вложений сервер может разрешить передачу прямо в запросе, ограничив суммарный размер параметром maxInlineBytes. Для крупных файлов сервер возвращает клиенту специальный результат upload_required с адресом загрузки, нужными заголовками и состоянием незавершённой операции.
Дальше клиент отправляет файл напрямую в указанное хранилище и повторяет вызов инструмента, передавая обратно requestState. Модель не обязана видеть ни содержимое файла, ни URL для загрузки. Авторы отдельно подчёркивают, что это согласуется с безсессионной архитектурой MCP: завершить операцию сможет и другой экземпляр сервера, если он умеет проверить сохранённое состояние и получить доступ к файлу. Для операций, которые нельзя запускать дважды, состояние можно пометить использованным до выполнения — чтобы повторный запрос не создал второй документ или дублирующую запись.
В обратную сторону схема работает похожим образом. Инструмент может сформировать файл — например, CSV с отчётом или архив с результатами — и передать клиенту инструкции для скачивания в поле _meta. Содержимое снова не попадает в обычный текстовый ответ, который читает модель. Такой подход важен не только для производительности: агенту незачем «проглатывать» многомегабайтный PDF, если задача состоит в том, чтобы сохранить его в облаке или передать в другую систему.
У черновика есть и ожидаемо острый угол: безопасность. Адрес назначения для передачи файла может вести на внешний домен, а неверно настроенный клиент рискует отправить туда учётные данные или чувствительное вложение. Авторы предлагают ограничивать адреса, для которых допускается режим без явных учётных данных, списком разрешённых источников. В схеме предусмотрены MIME-тип, размер файла и необязательный SHA-256 digest; сервер может требовать эти параметры. Это не заменяет антивирусную проверку, контроль доступа и политику хранения, но даёт единый каркас вместо десятков несовместимых самописных вариантов.
Для российских команд вывод довольно приземлённый: если MCP-сервер принимает договоры, выгрузки из CRM, презентации, датасеты или результаты сборок, не стоит закреплять текущий обходной протокол как вечный внутренний стандарт. Полезнее изолировать слой передачи файлов, предусмотреть проверку типа и размера, одноразовые адреса и идемпотентность операций. При этом внедрять расширение в продакшен рано: оно опционально, требует версии MCP 2026-07-28 или новее и ещё может измениться.
Главный вопрос теперь не в том, нужна ли загрузка файлов MCP, а в том, смогут ли клиенты и серверы договориться о безопасной реализации без нового зоопарка несовместимых расширений. Если эксперимент закрепится, MCP станет заметно полезнее для прикладных агентных сценариев, где работа заканчивается не текстовым ответом, а реальным документом, архивом или таблицей. Детали черновика и экспериментальный репозиторий описаны в материале .

