Протокол Model Context Protocol (MCP) стал stateless, и это изменение позволяет разработчикам запускать крошечные MCP-серверы на бесплатном уровне (free tier) Cloudflare Workers — при условии, что каждый запрос не превышает лимит CPU в 10 мс, установленный платформой.
Почему это важно
Два недавних изменения открыли эту возможность. Во-первых, ядро MCP отказалось от дизайна, основанного на сессиях, и теперь работает без «рукопожатий» (handshakes); любой запрос может быть обработан любым экземпляром кода. Во-вторых, Cloudflare вывел из эксплуатации класс McpAgent и теперь рекомендует использовать обычные обработчики запросов для новых серверов. Вместе они устраняют необходимость в Durable Objects или других хранилищах с сохранением состояния (stateful storage), которые были основными препятствиями для запуска MCP на бесплатном плане.
Что на самом деле позволяет делать бесплатный уровень
Мы создали MCP-сервер только для чтения, который отдает Markdown-файлы со статического сайта. Сервер реализует два инструмента — list_articles и get_article — используя простой оператор switch для маршрутизации методов. Никаких тяжелых вычислений, только получение статических ресурсов.
Учет CPU в Cloudflare отличается от общего времени ответа. Время CPU учитывает только циклы, затраченные на выполнение вашего JavaScript; время, потраченное на ожидание сетевых вызовов или чтения с диска, исключается. Это различие важно, так как бесплатный уровень ограничивает CPU 10 мс на запрос, в то время как общая задержка (latency) может быть выше.
Наши измерения на бесплатном уровне выглядели следующим образом:
server/discover: 0–1 мс CPUtools/list: 0 мс CPUget_article(самый большой файл): 1–2 мс CPU
Даже самая большая статья использовала лишь малую часть бюджета в 10 мс. Очевидное замедление на стороне клиента было вызвано ожиданием чтения файла, а не выполнением кода.
Где проявляется ограничение
Данные указывают на четкую закономерность:
- Инструменты для отдачи данных (простое чтение, списки) уверенно укладываются в лимит.
- Инструменты с высокой вычислительной нагрузкой (парсинг, рендеринг, хеширование или любые алгоритмические задачи) могут быстро исчерпать бюджет в 10 мс.
Если инструменту требуется более чем тривиальная обработка, разработчикам придется перейти на платный план Workers. План за $5 увеличивает лимит до 30 секунд на запрос.
Кто в выигрыше, а кто следит за временем
Небольшие сайты, которые уже размещают Markdown-файлы или RSS-ленту, могут открыть MCP-эндпоинт с помощью всего одного нового маршрута и остаться на бесплатном плане. Это означает снижение эксплуатационных расходов и уменьшение количества компонентов для энтузиастов, сайтов документации или блогов с низкой посещаемостью.
Если инструменту требуется более чем тривиальная обработка, разработчикам придется перейти на платный план Workers.
Что протестировать перед запуском
- Профилируйте свой инструмент: выполните несколько репрезентативных запросов и проверьте счетчик CPU в панели управления Cloudflare.
- Разделяйте статические и динамические пути: оставьте отдачу статических файлов на бесплатном уровне, а вызовы с интенсивными вычислениями направляйте на платный worker или другой бэкенд.
- Следите за скрытыми задержками: ожидание сети не учитывается в CPU, но все равно влияет на пользовательский опыт. Рассмотрите возможность edge-кеширования для файлов, которые вы отдаете.
Контраргумент: бесплатный план не безграничен
Хотя stateless-ядро устраняет необходимость в Durable Objects, ограничение в 10 мс остается жестким пределом. Разработчики, недооценивающие стоимость даже умеренного парсинга (например, преобразования Markdown в HTML), могут неожиданно столкнуться с лимитом. Бесплатный уровень подходит для сценариев «отдачи как есть», а не для генерации контента на лету.
Что дальше для MCP на Cloudflare
Если ваш сайт уже хранит контент в статическом хранилище (bucket), добавление MCP-эндпоинта может быть так же просто, как написание нескольких строк кода и создание одного маршрута. Протокол теперь соответствует потребностям небольших серверов — обычного HTTP-эндпоинта, который можно разместить бесплатно, пока вы не превышаете потолок в 10 мс CPU.
