Бета · редакция 2026.10-beta1 · MCP 2026-07-28

Pagination и caching

L12 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1

Я не хочу выгружать десять тысяч инструментов или документов ради первой страницы. Cursor pagination и caching позволяют экономить сеть, RAM и время ответа. Они полезны только тогда, когда клиент понимает границы актуальности.

Предварительно: L07 · L08 · L09

Как я это использую

Передавайте nextCursor как непрозрачное значение в следующий запрос списка, не вычисляйте его самостоятельно. Сервер связывает курсор с выборкой и principal. Кэшируемые результаты современного профиля содержат обязательные ttlMs и cacheScope: время жизни и область кэша — разные свойства. При ttlMs: 0 результат не сохраняют для повторного использования; cacheScope принимает public или private. Ключ должен учитывать версию, аргументы, пользователя и tenant, если результат от них зависит.

Контекст и действие

Разбираем конкретный контракт

Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.

{
  "pages": [
    [
      "get_task",
      "list_tasks"
    ],
    [
      "create_task"
    ]
  ],
  "nextCursor": "opaque-page-2",
  "ttlMs": 30000,
  "cacheScope": "private"
}

Лаборатория · L12

Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.

Что легко сломать

Общий кэш ответа одного пользователя — классическая утечка. После изменения данных нужен понятный путь инвалидации. Не сохраняйте bearer token в ключе, URL или логе; используйте внутренний идентификатор области доступа.

Практика и самопроверка

Пройти несколько страниц и изменить TTL и cacheScope. Успех: приватный результат не попадает другому пользователю.

Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.

В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.

На что я опирался

Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.

Проверка знаний

Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.

Как обращаться с nextCursor?

Что означает ttlMs?

Что включать в ключ пользовательского кэша?