📚 Что это
Documentation Lookup (Context7) — это навык для агента, который автоматически обращается к актуальной документации библиотек, фреймворков и API через MCP-сервер Context7. Вместо того чтобы полагаться на устаревшие данные из обучающей выборки, агент выполняет два MCP-вызова: resolve-library-id (определяет правильный идентификатор библиотеки) и query-docs (получает фрагменты документации по конкретному вопросу). Это гарантирует, что ответы о React, Next.js, Prisma, Supabase и сотнях других технологий будут точными и свежими.
⚙️ Как работает
🔍 Определение библиотеки (resolve-library-id)
Как только пользователь упоминает библиотеку или фреймворк (например, «Next.js middleware» или «Prisma relations), агент вызывает resolve-library-id` с двумя параметрами:
libraryName — извлечённое имя технологии ( Next.js, Prisma ).
query — полный вопрос пользователя (используется для улучшения ранжирования результатов).
На выходе — список контекстных ID в формате /org/project (например, /vercel/next.js). Если этот шаг не возвращает ни одного подходящего ID, запрос к query-docs не выполняется.
🎯 Выбор лучшего результата
Из полученных вариантов выбор делается по правилам:
- Совпадение имени — предпочитается точное или наиболее близкое совпадение с тем, что спросил пользователь.
- Бенчмарк-оценка — чем выше число (до 100), тем качественнее документация.
- Репутация источника — приоритет у High и Medium.
- Версия — если пользователь указал конкретную (например, «React 19»), выбирается ID версионированной документации (
/org/project/v1.2.0 ).
📄 Получение документации (query-docs)
Вызов query-docs принимает:
libraryId — идентификатор, полученный на шаге 2.
query — конкретный вопрос (чем детальнее, тем релевантнее сниппет).
Ограничение: не более 3 вызовов query-docs или resolve-library-id на один вопрос. Если после трёх обращений ответ остаётся неясным, агент должен честно указать на неопределённость и использовать лучшую из имеющихся информацию, не прибегая к догадкам.
🤖 Использование результатов
Агент:
- Формирует ответ на основе полученных фрагментов.
- При необходимости вставляет короткие примеры кода из документации.
- Указывает версию библиотеки, если это важно (например, «в Next.js 15.1…»).
🎯 Когда использовать
- Пользователь спрашивает о конфигурации или установке (например, «как настроить Tailwind CSS?»).
- Запрос на код, зависящий от библиотеки («напиши запрос Prisma с join-ами»).
- Нужен список методов API («какие хуки есть в React Router?»).
- В вопросе прямо упомянуто имя фреймворка или библиотеки (React, Vue, Express, Supabase и т.п.).
⚠️ Важно знать
- Безопасность: перед отправкой в
resolve-library-id или query-docs необходимо удалить из запроса все конфиденциальные данные (API-ключи, пароли, токены).
- Формат ID: Context7 использует путь с ведущим слешем:
/org/project или /org/project/version. Не путать с URL-ссылками.
- Сначала — resolve, потом — query: никогда не вызывать
query-docs без предварительного получения libraryId через resolve-library-id.
- Приоритет официальных источников: если одно и то же название даёт несколько результатов, выбирайте основной пакет (официальный GitHub-репозиторий), а не форки или зеркала.
📝 Короткие примеры использования
Пример 1: Middleware в Next.js
# Шаг 1: resolve-library-id
# libraryName: "Next.js", query: "How do I set up Next.js middleware?"
# → получаем /vercel/next.js
# Шаг 2: query-docs
# libraryId: "/vercel/next.js", query: "How do I set up Next.js middleware?"
# → возвращает сниппет с middleware.ts
# Ответ: объяснение настройки middleware.ts и пример кода из документации
Пример 2: Методы аутентификации Supabase
# Шаг 1: resolve-library-id
# libraryName: "Supabase", query: "What are the auth methods?"
# → получаем /supabase/supabase
# Шаг 2: query-docs
# libraryId: "/supabase/supabase", query: "What are the auth methods?"
# → перечисление методов с кратким примером
💡 Резюме
Навык Documentation Lookup (Context7) идеален для любых задач, где нужна свежая и точная документация по технологиям. Он автоматизирует рутинный поиск, выбирает наиболее релевантный источник и возвращает лаконичный, структурированный ответ. Разработчикам это экономит время, а пользователям даёт уверенность в актуальности полученной информации.
Комментарии
Комментариев пока нет. Будьте первым.