Code Mode: предоставьте агентам доступ ко всему API за 1 000 токенов
@ai_longreadsCloudflare представляет новый MCP-сервер для всего Cloudflare API, использующий технику Code Mode — всего два инструмента и около 1 000 токенов вместо 1,17 миллиона, с открытым исходным кодом SDK для создания собственных серверов.
Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.
Code Mode: предоставьте агентам доступ ко всему API за 1 000 токенов
Code Mode: give agents an entire API in 1,000 tokens Автор: Matt Carey Оригинальный текст:
Проблема контекстного окна
Model Context Protocol (MCP) стал стандартным способом взаимодействия ИИ-агентов с внешними инструментами. Но в его основе заложено противоречие: агентам нужно много инструментов для полезной работы, однако каждый добавленный инструмент заполняет контекстное окно модели, оставляя меньше места для самой задачи.
Code Mode — это техника, которую мы впервые представили для сокращения использования контекстного окна при работе агента с инструментами. Вместо того чтобы описывать каждую операцию как отдельный инструмент, мы позволяем модели писать код на основе типизированного SDK и безопасно выполнять его в Dynamic Worker Loader. Код выступает компактным планом действий. Модель может исследовать операции инструментов, компоновать несколько вызовов и возвращать только нужные данные. Anthropic независимо исследовала тот же паттерн в своей публикации Code Execution with MCP.
Сегодня мы представляем новый MCP-сервер для всего Cloudflare API — от DNS и Zero Trust до Workers и R2 — использующий Code Mode. Всего с двумя инструментами, search() и execute(), сервер обеспечивает доступ ко всему Cloudflare API через MCP, потребляя лишь около 1 000 токенов (токенов). Объём остаётся фиксированным вне зависимости от количества API endpoint (точек доступа API).
Для такого крупного API, как Cloudflare API, Code Mode сокращает количество входных токенов на 99,9%. Эквивалентный MCP-сервер без Code Mode потреблял бы 1,17 миллиона токенов — больше, чем всё контекстное окно самых продвинутых базовых моделей.
Вы можете начать использовать новый Cloudflare MCP-сервер уже сегодня. Мы также выкладываем в открытый исходный код новый Code Mode SDK в составе Cloudflare Agents SDK, чтобы вы могли применять тот же подход в своих MCP-серверах и ИИ-агентах.
Серверный Code Mode
Новый MCP-сервер применяет Code Mode на стороне сервера. Вместо тысяч инструментов сервер экспортирует только два: search() и execute(). Оба работают на основе Code Mode. Вот полная поверхность инструментов, загружаемая в контекст модели:
[
{
"name": "search",
"description": "Search the Cloudflare OpenAPI spec. All $refs are pre-resolved inline.",
"inputSchema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "JavaScript async arrow function to search the OpenAPI spec"
}
},
"required": ["code"]
}
},
{
"name": "execute",
"description": "Execute JavaScript code against the Cloudflare API.",
"inputSchema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "JavaScript async arrow function to execute"
}
},
"required": ["code"]
}
}
]Для обнаружения доступных возможностей агент вызывает search(). Он пишет JavaScript для работы с типизированным представлением OpenAPI-спецификации. Агент может фильтровать эндпоинты по продукту, пути, тегам или любым другим метаданным и сузить тысячи эндпоинтов до нескольких нужных. Полная OpenAPI-спецификация никогда не попадает в контекст модели — агент взаимодействует с ней только через код.
Когда агент готов действовать, он вызывает execute(). Агент пишет код, который может отправлять запросы к Cloudflare API, обрабатывать пагинацию, проверять ответы и выстраивать цепочки операций в рамках одного выполнения.
Оба инструмента выполняют сгенерированный код внутри изолята Dynamic Worker — легковесной песочницы V8 без файловой системы, без переменных окружения, которые могли бы утечь через prompt injection (инъекцию в промпт), и с отключёнными по умолчанию внешними fetch-запросами. Исходящие запросы можно явно контролировать через обработчики outbound fetch при необходимости.
Пример: защита origin-сервера от DDoS-атак
Допустим, пользователь говорит агенту: «защити мой origin от DDoS-атак». Первый шаг агента — обратиться к документации. Он может вызвать Cloudflare Docs MCP Server, использовать Cloudflare Skill или выполнить поиск в интернете. Из документации он узнаёт: нужно настроить правила Cloudflare WAF и защиты от DDoS перед origin-сервером.
Шаг 1: Поиск нужных эндпоинтов. Инструмент search предоставляет модели объект spec — полную OpenAPI-спецификацию Cloudflare со всеми предварительно разрешёнными $refs. Модель пишет JavaScript для работы с ней. Здесь агент ищет эндпоинты WAF и наборов правил для зоны:
async () => {
const results = [];
for (const [path, methods] of Object.entries(spec.paths)) {
if (path.includes('/zones/') &&
(path.includes('firewall/waf') || path.includes('rulesets'))) {
for (const [method, op] of Object.entries(methods)) {
results.push({ method: method.toUpperCase(), path, summary: op.summary });
}
}
}
return results;
}Сервер выполняет этот код в изоляте Workers и возвращает список подходящих эндпоинтов. Полная спецификация Cloudflare API содержит более 2 500 эндпоинтов. Модель сузила их до эндпоинтов WAF и наборов правил, которые ей нужны, при этом спецификация не попала в контекстное окно.
Модель также может детально изучить схему конкретного эндпоинта перед его вызовом. Например, она может проверить доступные фазы для наборов правил зоны и получить список вроде ddos_l4, ddos_l7, http_request_firewall_custom, http_request_firewall_managed и другие.
Агент теперь знает точные фазы, которые ему нужны: ddos_l7 для защиты от DDoS и http_request_firewall_managed для WAF.
Шаг 2: Действия через API. Агент переключается на использование execute. Песочница предоставляет клиент cloudflare.request(), который может выполнять аутентифицированные вызовы к Cloudflare API. Сначала агент проверяет, какие наборы правил уже существуют в зоне, затем может цепочкой вызовов проверить правила и обновить уровни чувствительности в рамках одного выполнения.
Вся операция — от поиска по спецификации и изучения схемы до перечисления наборов правил и получения конфигураций DDoS и WAF — заняла четыре вызова инструментов.
Cloudflare MCP-сервер
Ранее мы создавали MCP-серверы для отдельных продуктов. Нужен агент для управления DNS? Подключите DNS MCP-сервер. Нужны логи Workers? Подключите Workers Observability MCP-сервер. Каждый сервер экспортировал фиксированный набор инструментов, соответствующих операциям API. Это работало при небольшом наборе инструментов, но Cloudflare API содержит более 2 500 эндпоинтов. Никакой набор вручную поддерживаемых серверов не мог за этим угнаться.
Cloudflare MCP-сервер упрощает всё это. Два инструмента, примерно 1 000 токенов и покрытие каждого эндпоинта в API. Когда мы добавляем новые продукты, те же search() и execute() обнаруживают и вызывают их — без новых определений инструментов, без новых MCP-серверов. Сервер даже поддерживает GraphQL Analytics API.
MCP-сервер построен на последних спецификациях MCP. Он совместим с OAuth 2.1, используя Workers OAuth Provider для ограничения токена до выбранных разрешений, одобренных пользователем при подключении. Агент получает только те возможности, которые пользователь явно предоставил.
Для разработчиков это означает возможность использовать простой агентный (агентный) цикл и при этом давать агенту доступ ко всему Cloudflare API со встроенным прогрессивным обнаружением возможностей.
Сравнение подходов к сокращению контекста
Появилось несколько подходов для уменьшения количества токенов, потребляемых инструментами MCP:
Клиентский Code Mode — наш первый эксперимент. Модель пишет TypeScript на основе типизированных SDK и выполняет его в Dynamic Worker Loader на клиенте. Компромисс в том, что агенту необходим доступ к безопасной песочнице. Code Mode реализован в Goose и Claude SDK от Anthropic как Programmatic Tool Calling.
Интерфейсы командной строки — другой путь. CLI самодокументируются и раскрывают возможности по мере исследования агентом. Инструменты вроде OpenClaw и Moltworker конвертируют MCP-серверы в CLI с помощью MCPorter, обеспечивая агентам прогрессивное раскрытие. Ограничение очевидно: агенту нужен shell, который есть не в каждой среде и который создаёт значительно более широкую поверхность атаки по сравнению с изолированной песочницей.
Динамический поиск инструментов, как это делает Anthropic в Claude Code, показывает меньший набор инструментов, предположительно релевантных текущей задаче. Это сокращает использование контекста, но теперь требуется функция поиска, которую нужно поддерживать и оценивать, а каждый найденный инструмент всё равно потребляет токены.
Каждый подход решает реальную проблему. Но для MCP-серверов серверный Code Mode сочетает их сильные стороны: фиксированная стоимость в токенах вне зависимости от размера API, никаких модификаций на стороне агента, встроенное прогрессивное обнаружение и безопасное выполнение внутри изолированной песочницы. Агент просто вызывает два инструмента с кодом. Всё остальное происходит на сервере.
Начните использовать уже сегодня
Cloudflare MCP-сервер доступен прямо сейчас. Укажите URL сервера в вашем MCP-клиенте, и вы будете перенаправлены на Cloudflare для авторизации и выбора разрешений для агента. Добавьте эту конфигурацию в ваш MCP-клиент:
{
"mcpServers": {
"cloudflare-api": {
"url": "https://mcp.cloudflare.com/mcp"
}
}
}Для CI/CD, автоматизации или при желании самостоятельно управлять токенами создайте API-токен Cloudflare с необходимыми разрешениями. Поддерживаются как пользовательские, так и аккаунтные токены, которые передаются как bearer-токены в заголовке Authorization.
Дополнительную информацию о различных конфигурациях MCP можно найти в репозитории Cloudflare MCP.
Взгляд в будущее
Code Mode решает проблему стоимости контекста для одного API. Но агенты редко общаются только с одним сервисом. Агенту разработчика могут понадобиться Cloudflare API наряду с GitHub, базой данных и внутренним сервером документации. Каждый дополнительный MCP-сервер приносит то же давление на контекстное окно, с которого мы начали.
Cloudflare MCP Server Portals позволяют объединять несколько MCP-серверов за единым шлюзом с унифицированной аутентификацией и контролем доступа. Мы создаём первоклассную интеграцию Code Mode для всех ваших MCP-серверов, предоставляя их агентам со встроенным прогрессивным обнаружением и тем же фиксированным объёмом токенов — вне зависимости от того, сколько сервисов стоит за шлюзом.
Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!
Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot