context7/docs/README.ru.md
2025-06-07 00:24:20 +03:00

18 KiB
Raw Permalink Blame History

Context7 MCP - Актуальная документация для любого промпта

Website smithery badge Install in VS Code (npx)

Без Context7

LLMs полагаются на устаревшую или обобщённую информацию о библиотеках, с которыми вы работаете. В результате этого вы получаете:

  • Устаревшие примеры кода многолетней давности
  • Выдуманные API, которые даже не существуют
  • Обобщённые ответы для старых библиотек

С Context7

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

Добавьте строку use context7 в промпт для Cursor:

Создай базовый Next.js проект с маршрутизатором приложений. Use context7
Создай скрипт, удаляющий строки, где город равен "", используя учётные данные PostgreSQL. Use context7

Context7 MCP подгружает свежие примеры кода и документацию из источников прямо в контекст вашей LLM.

  • 1 Напишите свой промпт так, как писали его всегда
  • 2 Добавьте к промпту use context7
  • 3 Получите работающий результат

Никакого переключения между вкладками, выдуманного API или устаревшего кода.

🛠️ Начало работы

Требования

  • Node.js >= v18.0.0
  • Cursor, Windsurf, Claude Desktop или другой MCP клиент

Установка через Smithery

Воспользуйтесь Smithery, чтобы автоматически установить MCP сервер Context7 для Claude Desktop:

npx -y @smithery/cli install @upstash/context7-mcp --client claude

Установка в Cursor

Перейдите в вкладку: Settings -> Cursor Settings -> MCP -> Add new global MCP server

Рекомендуется вставить конфигурацию в файл ~/.cursor/mcp.json. Также можно установить конфигурацию для конкретного проекта, создав файл .cursor/mcp.json в его директории. Смотрите документацию Cursor MCP для получения дополнительной информации.

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}
Альтернативный вариант - Bun
{
  "mcpServers": {
    "context7": {
      "command": "bunx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}
Альтернативный вариант - Deno
{
  "mcpServers": {
    "context7": {
      "command": "deno",
      "args": ["run", "--allow-env", "--allow-net", "npm:@upstash/context7-mcp"]
    }
  }
}

Установка в Windsurf

Добавьте следующие строки в ваш конфигурационный файл Windsurf MCP. Смотрите документацию Windsurf MCP для получения дополнительной информации.

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Установка в VS Code

Установка в VS Code (npx) Установка в VS Code Insiders (npx)

Добавьте следующие строки в ваш конфигурационный файл VS Code MCP. Смотрите документацию VS Code MCP для получения дополнительной информации.

{
  "servers": {
    "Context7": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Установка in Zed

Можно установить через Zed расширение или добавить следующие строки в settings.json. Смотрите документацию Zed Context Server для получения дополнительной информации.

{
  "context_servers": {
    "Context7": {
      "command": {
        "path": "npx",
        "args": ["-y", "@upstash/context7-mcp"]
      },
      "settings": {}
    }
  }
}

Установка в Claude Code

Запустите следующую команду для установки. Смотрите документацию Claude Code MCP для получения дополнительной информации.

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

Установка в Claude Desktop

Добавьте следующие следующие строки в ваш конфигурационный файл claude_desktop_config.json. Смотрите документацию Claude Desktop MCP для получения дополнительной информации.

{
  "mcpServers": {
    "Context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Установка в BoltAI

Откройте страницу "Settings", перейдите в "Plugins" и добавьте следующие JSON-строки:

{
  "mcpServers": {
    "context7": {
      "args": ["-y", "@upstash/context7-mcp"],
      "command": "npx"
    }
  }
}

Используя Docker

Если вы предпочитаете запускать MCP сервер в Docker контейнере:

  1. Создайте образ Docker:

    Во-первых, создайте Dockerfile в корне вашего проекта (или в любом другом месте):

    Нажмите, чтобы просмотреть содержимое файла Dockerfile
    FROM node:18-alpine
    
    WORKDIR /app
    
    # Установите последнюю версию пакета глобально
    RUN npm install -g @upstash/context7-mcp
    
    # Откройте стандартный порт, если это необходимо (необязательно, это зависит от взаимодействия с MCP клиентом)
    # EXPOSE 3000
    
    # Стандартная команда для запуска сервера
    CMD ["context7-mcp"]
    

    Затем, соберите образ, используя тег (например, context7-mcp). Убедитесь, что Docker Desktop (или демон Docker) работает. Запустите следующую команду в этой же директории, где сохранён Dockerfile:

    docker build -t context7-mcp .
    
  2. Настройте ваш MCP клиент:

    Обновите вашу конфигурацию MCP клиента, чтобы использовать Docker команду.

    Пример для cline_mcp_settings.json:

    {
      "mcpServers": {
        "Сontext7": {
          "autoApprove": [],
          "disabled": false,
          "timeout": 60,
          "command": "docker",
          "args": ["run", "-i", "--rm", "context7-mcp"],
          "transportType": "stdio"
        }
      }
    }
    

    Примечение: это пример конфигурации. Обратитесь к конкретным примерам для вашего MCP-клиента (например, Cursor, VS Code и т.д.), в предыдущих разделах этого README, чтобы адаптировать структуру (например, mcpServers вместо servers). Также убедитесь, что имя образа в args соответствует тегу, использованному при выполнении команды docker build.

Установка в Windows

Конфигурация в Windows немного отличается от Linux или macOS (в качестве примера используется Cline). Однако, эти же же принципы применимы и к другим редакторам. В случае необходимости обратитесь к настройкам command и args.

{
  "mcpServers": {
    "github.com/upstash/context7-mcp": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@upstash/context7-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Переменные окружения

  • DEFAULT_MINIMUM_TOKENS: минимальное количество токенов, необходимое для получения документации (по умолчанию: 10000).

Examples:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"],
      "env": {
        "DEFAULT_MINIMUM_TOKENS": "10000"
      }
    }
  }
}

Доступные инструменты

  • resolve-library-id: преобразует общее название библиотеки в совместимый с Context7 идентификатор.
    • libraryName (обязательно)
  • get-library-docs: получает документацию по библиотеке по совместимому с Context7 идентификатору.
    • context7CompatibleLibraryID (обязательно)
    • topic (необязательно): фокусирует документацию на определённой теме (например, "routing", "hooks")
    • tokens (необязательно, по умолчанию 10000): максимальное число токенов в ответе. Значения ниже заданного DEFAULT_MINIMUM_TOKENS будут автоматически увеличены до него.

Разработка

Склонируйте проект и установите зависимости:

bun i

Сборка:

bun run build

Пример локальной конфигурации

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["tsx", "/path/to/folder/context7-mcp/src/index.ts"]
    }
  }
}

Тестирование с помощью инспектора MCP

npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp

Решение проблем

ERR_MODULE_NOT_FOUND

Если вы видите эту ошибку, используйте bunx вместо npx.

{
  "mcpServers": {
    "context7": {
      "command": "bunx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Зачастую это решает проблему с недостающими модулями, особенно в окружении, где npx некорректно устанавливает или разрешает библиотеки.

Проблемы с разрешением ESM

Если вы сталкиваетесь с проблемой по типу: Error: Cannot find module 'uriTemplate.js', попробуйте запустить команду с флагом --experimental-vm-modules:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "--node-options=--experimental-vm-modules", "@upstash/context7-mcp"]
    }
  }
}

Проблемы с TLS/сертификатами

Используйте флаг --experimental-fetch c npx, чтобы избежать ошибки, связанные с TLS:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "--node-options=--experimental-fetch", "@upstash/context7-mcp"]
    }
  }
}

Ошибки MCP клиента

  1. Попробуйте добавить тег @latest в имя пакета.

  2. Попробуйте использовать bunx как альтернативу npx.

  3. Попробуйте использовать deno как замену npx или bunx.

  4. Убедитесь, что используете версию Node v18 или выше, чтобы npx поддерживал встроенный fetch.

Отказ от ответственности

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

Если вы столкнётесь с подозрительным, неуместным или потенциально вредоносным контентом, пожалуйста, воспользуйтесь кнопкой "Report" на странице проекта, чтобы немедленно сообщить нам. Мы внимательно относимся ко всем обращениям и оперативно проверяем помеченные материалы, чтобы обеспечить надёжность и безопасность платформы.

Используя Context7, вы признаёте, что делаете это по собственному усмотрению и на свой страх и риск.

Оставайтесь с нами на связи

Будьте в курсе последних новостей на наших платформах:

  • 📢 Следите за нашими новостями на X, чтобы быть в курсе последних новостей
  • 🌐 Загляните на наш сайт
  • 💬 При желании присоединяйтесь к нашему сообществу в Discord

Context7 в СМИ

История звёзд на GitHub

График истории звёзд на GitHub

Лицензия

MIT