/ Каталог / Песочница / Context7
● Официальный upstash ⚡ Сразу

Context7

автор upstash · upstash/context7

Context7 внедряет свежие, зависящие от версии документы для более чем 30000 библиотек в ваш агент кодирования, чтобы остановить галлюцинации API, которых не существует.

Context7 - это платформа Upstash docs-for-LLMs. Сервер MCP разрешает имя библиотеки на стабильный идентификатор, а затем получает точные фрагменты документов, необходимые вашему агенту — закрепленные за версией в вашем файле блокировки. Бесплатный уровень работает из коробки; бесплатный ключ API повышает лимиты ставок. Установленный из одной команды npx, он является одним из самых высокорентабельных MCP для любого рабочего процесса кодирования, охватывающего библиотеки 2+.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

context7.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "context7",
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "context7": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@upstash/context7-mcp@latest"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Context7

Остановите агента от несуществующих галлюцинаторных функций

👤 Любой, кто использует помощника по кодированию ИИ с библиотекой, более новой, чем отсечка модели ⏱ ~5 min beginner

Когда использовать: Вы работаете с Next.js 15, Prisma 5, Drizzle, LangChain 0.3 или любой другой быстро развивающейся библиотекой, и ваш агент продолжает изобретать несуществующие функции.

Предварительные требования
  • Узел 18+ — узел -v
  • Context7 MCP установлен — Вставьте блок конфигурации выше в настройки рабочего стола / курсора / виндсерфинга Claude
Поток
  1. Назовите библиотеку явно
    Используя Context7, вытащите последние документы для Prisma и покажите мне правильный способ выполнения транзакции с вложенной записью отношений.✓ Скопировано
    → Агент вызывает resolve-library-id, а затем query-docs с соответствующим запросом, а не сводкой в стиле Википедии
  2. Закрепите версию, если это важно
    Я на следующем@15.0.3. Используйте Context7, чтобы получить потоковые документы маршрутизатора приложений для этой точной версии.✓ Скопировано
    → Цитирование включает версию; код использует файловые соглашения, а не getServerSideProps
  3. Перепроверьте свой код
    Прочитайте импорт в src/lib/db.ts, затем используйте Context7, чтобы убедиться, что каждая импортированная мной функция действительно существует в DRYZZLE-orm 0.30.x.✓ Скопировано
    → По-импорту ✓/✗отчету со ссылками на документы

Итог: Вывод агента использует реальные, текущие API-интерфейсы — первая попытка — вместо правдоподобно выглядящих изобретенных.

Подводные камни
  • Агент забывает вызвать Context7 на втором ходу — Поместите 'always use Context7 for library questions' в системную подсказку или CLAUDE.md
  • Имя библиотеки неоднозначно (например, «supabase») — Пусть resolve-library-id возвращает совпадения; выберите конкретный пакет (supabase-js vs @supabase/ssr)
Сочетать с: filesystem · github

Создайте новую функцию, используя текущий идиоматический шаблон

👤 Инженеры запускают функцию в незнакомой или более новой версии фреймворка ⏱ ~15 min intermediate

Когда использовать: Вам нужно добавить аутентификацию в приложение Next.js 15 и пропустить устаревшие сообщения в блоге.

Предварительные требования
  • Целевая структура определена — package.json или pyproject.toml уже перечисляет его
Поток
  1. Запросить текущие идиомы
    Используя Context7, извлеките документы NextAuth v5 и сформируйте для меня конфигурацию поставщика учетных данных. Я хочу текущую бета-версию, а не v4.✓ Скопировано
    → Код использует функцию auth() и Edge-совместимую конфигурацию из v5, а не v4 getServerSession
  2. Проверка заметок о миграции
    Извлеките раздел «Обновление с версии 4» из документов NextAuth и перечислите, что мне нужно изменить в текущем коде.✓ Скопировано
    → Список разрывных изменений в стиле Diff

Итог: Работающий код v5 на первом коммите — не полумигрированный гибрид.

Подводные камни
  • Документы не покрывают ваш крайний случай — Context7 - только документы; для невыпущенного поведения вернитесь к источнику через GitHub MCP
Сочетать с: github · filesystem

Просмотрите PR с реальными ссылками на документы, а не с флюидами

👤 Рецензенты, которые хотят подкрепить комментарии доказательствами ⏱ ~20 min intermediate

Когда использовать: Просматривая PR, который использует API библиотеки, вы не на 100% уверены, что это правильно.

Поток
  1. Прочитайте DIFF
    Вытяните DIFF из PR #482. Для каждого вызова библиотеки используйте Context7, чтобы проверить подпись и отметить все, что выглядит некорректно.✓ Скопировано
    → Вердикт по каждому вызову со ссылкой на документ и версией
  2. Пишите цитируемые комментарии
    Для каждого помеченного вызова напишите комментарий к обзору, который ссылается на официальный документ через Context7.✓ Скопировано
    → Комментарии читаются как «согласно документации v15 <ссылка>, X должно быть Y».

Итог: Просмотрите комментарии с цитатами, а не мнениями.

Сочетать с: github

Перенос базы кода в новую основную версию библиотеки.

👤 Инженеры делают масштабное обновление (React 18→19, Tailwind 3→4 и т. д.) ⏱ ~90 min advanced

Когда использовать: Вы устанавливаете основную версию, а руководство по обновлению состоит из 40 страниц «все зависит от обстоятельств».

Предварительные требования
  • Целевая версия выбрана — Выберите точную версию; не делай «последних» по специальностям
Поток
  1. Скачайте руководство по миграции
    Используйте Context7, чтобы получить документ о миграции Tailwind v3→v4. Подведите итоги в виде контрольного списка.✓ Скопировано
    → Упорядоченный чек-лист критических изменений
  2. Сканируйте репозиторий для каждой проблемы
    Для каждого элемента этого контрольного списка используйте файловую систему MCP, чтобы найти соответствующие шаблоны в src/. Дайте мне отчет по каждому файлу.✓ Скопировано
    → Шаблон → список затронутых файлов
  3. Патч в небольших коммитах
    Сделайте каждый элемент миграции отдельной фиксацией с сообщением, ссылающимся на раздел документа.✓ Скопировано
    → Очистите журнал коммитов, вы можете отменить его поэлементно.

Итог: PR-заявку на миграцию, которую вы действительно можете просмотреть, при этом каждое изменение привязано к разделу документации.

Подводные камни
  • Взятие слишком большого количества элементов за один коммит — Одно критическое изменение → один коммит; облегчает разделение пополам, если что-то сломается
Сочетать с: filesystem · git · github

Комбинации

Сочетайте с другими MCP — эффект x10

context7 + filesystem

Прочтите package.json, чтобы выбрать точную версию, а затем запросите у Context7 соответствующие документы.

Прочтите package.json, найдите следующую версию и извлеките соответствующие документы из Context7 для действий сервера.✓ Скопировано
context7 + github

Для PR, касающихся библиотечных API, аннотируйте обзор ссылками на документы.

Для каждого вызова API в PR № 482 добавьте комментарий со ссылкой на документацию Context7.✓ Скопировано

Прежде чем прикасаться к коду, спланируйте миграцию шаг за шагом.

Используйте последовательное мышление для планирования миграции Prisma v4 → v5, извлекая документацию из Context7 на каждом этапе.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
resolve-library-id libraryName: str Первый звонок — устраните неоднозначность названия библиотеки, которая вас интересует. 1 free request
query-docs libraryId: str, query: str, version?: str После разрешения-библиотеки-идентификатора — задайте актуальный вопрос 1 free request (higher rate limit with API key)

Стоимость и лимиты

Во что обходится

Квота API
Уровень бесплатного пользования щедрый; бесплатный ключ API (context7.com/dashboard) повышает ограничения скорости
Токенов на вызов
~200–2000 за запрос в зависимости от длины документа
Деньги
Бесплатно
Совет
Запросы по объему — «как использовать X» дешевле, чем «расскажите мне все об X»; сервер уже возвращает целевые фрагменты

Безопасность

Права, секреты, радиус поражения

Хранение учётных данных: Дополнительная переменная среды CONTEXT7_API_KEY для более высоких ограничений скорости.
Исходящий трафик: Запросы отправляются на api.context7.com; нет выхода кода — отправляются только имя библиотеки и ваш запрос

Устранение неполадок

Частые ошибки и исправления

Библиотека не найдена по разрешению-library-id

Попробуйте альтернативные имена (например, «nextjs» или «next.js» или «@vercel/next»); Context7 индексирует по общим псевдонимам, но не по каждому форку

Проверить: Check context7.com/browse for the official slug
Документы выглядят устаревшими

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

Проверить: Compare the returned snippet URL to the official docs site
Достигнут лимит скорости при анонимном использовании

Получите бесплатный ключ API на context7.com/dashboard и установите CONTEXT7_API_KEY в блоке env вашей конфигурации MCP.

Проверить: Re-run the same query and check it succeeds

Альтернативы

Context7 в сравнении

АльтернативаКогда использоватьКомпромисс
GitHub MCP (docs folder)Вам нужна правда на уровне источника или неопубликованное поведение.Задержка каждого файла высокая; вам придется перемещаться по репо вручную
Ref ToolsВам нужен другой поставщик документов со своим собственным индексом.Различное покрытие библиотеки
Direct web fetchДокумента нет ни в одном индексе — у вас есть URL-адрес.Нет разрешения версии; ты работаешь с URL

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills