From b6469163ba633c122da936d0d1e3a2f5de46b4a9 Mon Sep 17 00:00:00 2001 From: Dmitriy Lapin Date: Fri, 2 May 2025 04:02:39 +0300 Subject: [PATCH 1/2] feat: Add Russian README for Context7 MCP documentation --- docs/README.ru.md | 363 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 363 insertions(+) create mode 100644 docs/README.ru.md diff --git a/docs/README.ru.md b/docs/README.ru.md new file mode 100644 index 0000000..3cd95de --- /dev/null +++ b/docs/README.ru.md @@ -0,0 +1,363 @@ +# Context7 MCP - Актуальная документация для любого промпта + +[![Website](https://img.shields.io/badge/Website-context7.com-blue)](https://context7.com) [![smithery badge](https://smithery.ai/badge/@upstash/context7-mcp)](https://smithery.ai/server/@upstash/context7-mcp) [Install in VS Code (npx)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22context7%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fcontext7-mcp%40latest%22%5D%7D) + +[![中文文档](https://img.shields.io/badge/docs-中文版-yellow)](./docs/README.zh-CN.md) [![한국어 문서](https://img.shields.io/badge/docs-한국어-green)](./docs/README.ko.md) [![Documentación en Español](https://img.shields.io/badge/docs-Español-orange)](./docs/README.es.md) [![Documentation en Français](https://img.shields.io/badge/docs-Français-blue)](./docs/README.fr.md) [![Documentação em Português (Brasil)](https://img.shields.io/badge/docs-Português%20(Brasil)-purple)](./docs/README.pt-BR.md) [![Documentazione in italiano](https://img.shields.io/badge/docs-Italian-red)](./docs/README.it.md) [![Dokumentasi Bahasa Indonesia](https://img.shields.io/badge/docs-Bahasa%20Indonesia-pink)](./docs/README.id-ID.md) [![Dokumentation auf Deutsch](https://img.shields.io/badge/docs-Deutsch-darkgreen)](./docs/README.de.md) [![Документация на русском языке](https://img.shields.io/badge/docs-Русский-darkblue)](./docs/README.ru.md) + +## ❌ Без Context7 + +LLMs полагаются на устаревшую или обобщённую информацию о библиотеках, с которыми вы работаете. В результате этого вы получаете: + +- ❌ Устаревшие примеры кода многолетней давности +- ❌ Выдуманные API, которые даже не существуют +- ❌ Обобщённые ответы для старых библиотек + +## ✅ С Context7 + +Context7 MCP получает актуальную документацию и примеры кода, строго соответствующие нужной версии, прямо из исходных источников и вставляет их прямо в ваш промпт. + +Добавьте строку `use context7` в промпт для Cursor: + +```txt +Создай базовый Next.js проект с маршрутизатором приложений. Use context7 +``` + +```txt +Создай скрипт, удаляющий строки, где город равен "", используя учётные данные PostgreSQL. Use context7 +``` + +Context7 MCP подгружает свежие примеры кода и документацию из источников прямо в контекст вашей LLM. + +- 1️⃣ Напишите свой промпт так, как писали его всегда +- 2️⃣ Добавьте к промпту `use context7` +- 3️⃣ Получите работающий результат + +Никакого переключения между вкладками, выдуманного API или устаревшего кода. + +## 🛠️ Начало работы + +### Требования + +- Node.js >= v18.0.0 +- Cursor, Windsurf, Claude Desktop или другой MCP клиент + +### Установка через Smithery + +Воспользуйтесь [Smithery](https://smithery.ai/server/@upstash/context7-mcp), чтобы автоматически установить MCP сервер Context7 для Claude Desktop: + +```bash +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](https://docs.cursor.com/context/model-context-protocol) для получения дополнительной информации. + +```json +{ + "mcpServers": { + "context7": { + "command": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"] + } + } +} +``` + +
+Альтернативный вариант - Bun + +```json +{ + "mcpServers": { + "context7": { + "command": "bunx", + "args": ["-y", "@upstash/context7-mcp@latest"] + } + } +} +``` + +
+ +
+Альтернативный вариант - Deno + +```json +{ + "mcpServers": { + "context7": { + "command": "deno", + "args": ["run", "--allow-net", "npm:@upstash/context7-mcp"] + } + } +} +``` + +
+ +### Установка в Windsurf + +Добавьте следующие строки в ваш конфигурационный файл Windsurf MCP. Смотрите [документацию Windsurf MCP](https://docs.windsurf.com/windsurf/mcp) для получения дополнительной информации. + +```json +{ + "mcpServers": { + "context7": { + "command": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"] + } + } +} +``` + +### Установка в VS Code + +[Установка в VS Code (npx)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22context7%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fcontext7-mcp%40latest%22%5D%7D) +[Установка в VS Code Insiders (npx)](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22context7%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fcontext7-mcp%40latest%22%5D%7D) + +Добавьте следующие строки в ваш конфигурационный файл VS Code MCP. Смотрите [документацию VS Code MCP](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) для получения дополнительной информации. + +```json +{ + "servers": { + "Context7": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"] + } + } +} +``` + +### Установка in Zed + +Можно установить через [Zed расширение](https://zed.dev/extensions?query=Context7) или добавить следующие строки в `settings.json`. Смотрите [документацию Zed Context Server](https://zed.dev/docs/assistant/context-servers) для получения дополнительной информации. + +```json +{ + "context_servers": { + "Context7": { + "command": { + "path": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"] + }, + "settings": {} + } + } +} +``` + +### Установка в Claude Code + +Запустите следующую команду для установки. Смотрите [документацию Claude Code MCP](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp) для получения дополнительной информации. + +```sh +claude mcp add context7 -- npx -y @upstash/context7-mcp@latest +``` + +### Установка в Claude Desktop + +Добавьте следующие следующие строки в ваш конфигурационный файл `claude_desktop_config.json`. Смотрите [документацию Claude Desktop MCP](https://modelcontextprotocol.io/quickstart/user) для получения дополнительной информации. + +```json +{ + "mcpServers": { + "Context7": { + "command": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"] + } + } +} +``` + +### Используя Docker + +Если вы предпочитаете запускать MCP сервер в Docker контейнере: + +1. **Создайте образ Docker:** + + Во-первых, создайте `Dockerfile` в корне вашего проекта (или в любом другом месте): + +
+ Нажмите, чтобы просмотреть содержимое файла Dockerfile + + ```Dockerfile + FROM node:18-alpine + + WORKDIR /app + + # Установите последнюю версию пакета глобально + RUN npm install -g @upstash/context7-mcp@latest + + # Откройте стандартный порт, если это необходимо (необязательно, это зависит от взаимодействия с MCP клиентом) + # EXPOSE 3000 + + # Стандартная команда для запуска сервера + CMD ["context7-mcp"] + ``` + +
+ + Затем, соберите образ, используя тег (например, `context7-mcp`). **Убедитесь, что Docker Desktop (или демон Docker) работает.** Запустите следующую команду в этой же директории, где сохранён `Dockerfile`: + + ```bash + docker build -t context7-mcp . + ``` + +2. **Настройте ваш MCP клиент:** + + Обновите вашу конфигурацию MCP клиента, чтобы использовать Docker команду. + + *Пример для cline_mcp_settings.json:* + + ```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`.* + +### Переменные окружения + +- `DEFAULT_MINIMUM_TOKENS`: минимальное количество токенов, необходимое для получения документации (по умолчанию: 5000). + +Examples: +```json +{ + "mcpServers": { + "context7": { + "command": "npx", + "args": ["-y", "@upstash/context7-mcp@latest"], + "env": { + "DEFAULT_MINIMUM_TOKENS": "10000" + } + } + } +} +``` + +### Доступные инструменты + +- `resolve-library-id`: преобразует общее название библиотеки в совместимый с Context7 идентификатор. + - `libraryName` (обязательно) +- `get-library-docs`: получает документацию по библиотеке по совместимому с Context7 идентификатору. + - `context7CompatibleLibraryID` (обязательно) + - `topic` (необязательно): фокусирует документацию на определённой теме (например, "routing", "hooks") + - `tokens` (необязательно, по умолчанию 5000): максимальное число токенов в ответе. Значения ниже заданного `DEFAULT_MINIMUM_TOKENS` будут автоматически увеличены до него. + +## Разработка + +Склонируйте проект и установите зависимости: + +```bash +bun i +``` + +Сборка: + +```bash +bun run build +``` + +### Пример локальной конфигурации + +```json +{ + "mcpServers": { + "context7": { + "command": "npx", + "args": ["tsx", "/path/to/folder/context7-mcp/src/index.ts"] + } + } +} +``` + +### Тестирование с помощью инспектора MCP + +```bash +npx -y @modelcontextprotocol/inspector npx @upstash/context7-mcp@latest +``` + +## Решение проблем + +### ERR_MODULE_NOT_FOUND + +Если вы видите эту ошибку, используйте `bunx` вместо `npx`. + +```json +{ + "mcpServers": { + "context7": { + "command": "bunx", + "args": ["-y", "@upstash/context7-mcp@latest"] + } + } +} +``` + +Зачастую это решает проблему с недостающими модулями, особенно в окружении, где `npx` некорректно устанавливает или разрешает библиотеки. + +### Проблемы с разрешением ESM + +Если вы сталкиваетесь с проблемой по типу: `Error: Cannot find module 'uriTemplate.js'`, попробуйте запустить команду с флагом `--experimental-vm-modules`: + +```json +{ + "mcpServers": { + "context7": { + "command": "npx", + "args": [ + "-y", + "--node-options=--experimental-vm-modules", + "@upstash/context7-mcp@1.0.6" + ] + } + } +} +``` + +### Ошибки MCP клиента + +1. Попробуйте убрать тег `@latest` из имени пакета. + +2. Попробуйте использовать `bunx` как альтернативу `npx`. + +3. Попробуйте использовать `deno` как замену `npx` или `bunx`. + +4. Убедитесь, что используете версию Node v18 или выше, чтобы `npx` поддерживал встроенный `fetch`. + +## Отказ от ответственности +Проекты Context7 создаются сообществом. Мы стремимся поддерживать высокое качество, однако не можем гарантировать точность, полноту или безопасность всей документации по библиотекам. Проекты, представленные в Context7, разрабатываются и поддерживаются их авторами, а не командой Context7. + +Если вы столкнётесь с подозрительным, неуместным или потенциально вредоносным контентом, пожалуйста, воспользуйтесь кнопкой "Report" на странице проекта, чтобы немедленно сообщить нам. Мы внимательно относимся ко всем обращениям и оперативно проверяем помеченные материалы, чтобы обеспечить надёжность и безопасность платформы. + +Используя Context7, вы признаёте, что делаете это по собственному усмотрению и на свой страх и риск. + +## Context7 In Media + +- [Better Stack: "Бесплатный инструмент делает Cursor в 10 раз умнее"](https://youtu.be/52FC3qObp9E) +- [Cole Medin: "Это, без сомнения, ЛУЧШИЙ MCP-сервер для AI-помощников в коде"](https://www.youtube.com/watch?v=G7gK8H6u7Rs) +- [Income stream surfers: "Context7 + SequentialThinking MCPs: Это уже AGI?"](https://www.youtube.com/watch?v=-ggvzyLpK6o) +- [Julian Goldie SEO: "Context7: обновление MCP-агента"](https://www.youtube.com/watch?v=CTZm6fBYisc) +- [JeredBlu: "Context 7 MCP: мгновенный доступ к документации + настройка для VS Code"](https://www.youtube.com/watch?v=-ls0D-rtET4) +- [Income stream surfers: "Context7: новый MCP-сервер, который изменит кодинг с ИИ"](https://www.youtube.com/watch?v=PS-2Azb-C3M) + +## История звёзд на GitHub + +[![График истории звёзд на GitHub](https://api.star-history.com/svg?repos=upstash/context7&type=Date)](https://www.star-history.com/#upstash/context7&Date) + +## Лицензия + +MIT From 2dd529b2f2e5bda83640838b2bc524827d4fc303 Mon Sep 17 00:00:00 2001 From: Dmitriy Lapin Date: Fri, 2 May 2025 04:12:13 +0300 Subject: [PATCH 2/2] fix: Add the button to the main README.md --- README.md | 2 +- docs/README.ru.md | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 27a25c6..c296f62 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Website](https://img.shields.io/badge/Website-context7.com-blue)](https://context7.com) [![smithery badge](https://smithery.ai/badge/@upstash/context7-mcp)](https://smithery.ai/server/@upstash/context7-mcp) [Install in VS Code (npx)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22context7%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fcontext7-mcp%40latest%22%5D%7D) -[![中文文档](https://img.shields.io/badge/docs-中文版-yellow)](./docs/README.zh-CN.md) [![한국어 문서](https://img.shields.io/badge/docs-한국어-green)](./docs/README.ko.md) [![Documentación en Español](https://img.shields.io/badge/docs-Español-orange)](./docs/README.es.md) [![Documentation en Français](https://img.shields.io/badge/docs-Français-blue)](./docs/README.fr.md) [![Documentação em Português (Brasil)](https://img.shields.io/badge/docs-Português%20(Brasil)-purple)](./docs/README.pt-BR.md) [![Documentazione in italiano](https://img.shields.io/badge/docs-Italian-red)](./docs/README.it.md) [![Dokumentasi Bahasa Indonesia](https://img.shields.io/badge/docs-Bahasa%20Indonesia-pink)](./docs/README.id-ID.md) [![Dokumentation auf Deutsch](https://img.shields.io/badge/docs-Deutsch-darkgreen)](./docs/README.de.md) +[![中文文档](https://img.shields.io/badge/docs-中文版-yellow)](./docs/README.zh-CN.md) [![한국어 문서](https://img.shields.io/badge/docs-한국어-green)](./docs/README.ko.md) [![Documentación en Español](https://img.shields.io/badge/docs-Español-orange)](./docs/README.es.md) [![Documentation en Français](https://img.shields.io/badge/docs-Français-blue)](./docs/README.fr.md) [![Documentação em Português (Brasil)](https://img.shields.io/badge/docs-Português%20(Brasil)-purple)](./docs/README.pt-BR.md) [![Documentazione in italiano](https://img.shields.io/badge/docs-Italian-red)](./docs/README.it.md) [![Dokumentasi Bahasa Indonesia](https://img.shields.io/badge/docs-Bahasa%20Indonesia-pink)](./docs/README.id-ID.md) [![Dokumentation auf Deutsch](https://img.shields.io/badge/docs-Deutsch-darkgreen)](./docs/README.de.md) [![Документация на русском языке](https://img.shields.io/badge/docs-Русский-darkblue)](./docs/README.ru.md) ## ❌ Without Context7 diff --git a/docs/README.ru.md b/docs/README.ru.md index 3cd95de..f50f5bf 100644 --- a/docs/README.ru.md +++ b/docs/README.ru.md @@ -2,8 +2,6 @@ [![Website](https://img.shields.io/badge/Website-context7.com-blue)](https://context7.com) [![smithery badge](https://smithery.ai/badge/@upstash/context7-mcp)](https://smithery.ai/server/@upstash/context7-mcp) [Install in VS Code (npx)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22context7%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40upstash%2Fcontext7-mcp%40latest%22%5D%7D) -[![中文文档](https://img.shields.io/badge/docs-中文版-yellow)](./docs/README.zh-CN.md) [![한국어 문서](https://img.shields.io/badge/docs-한국어-green)](./docs/README.ko.md) [![Documentación en Español](https://img.shields.io/badge/docs-Español-orange)](./docs/README.es.md) [![Documentation en Français](https://img.shields.io/badge/docs-Français-blue)](./docs/README.fr.md) [![Documentação em Português (Brasil)](https://img.shields.io/badge/docs-Português%20(Brasil)-purple)](./docs/README.pt-BR.md) [![Documentazione in italiano](https://img.shields.io/badge/docs-Italian-red)](./docs/README.it.md) [![Dokumentasi Bahasa Indonesia](https://img.shields.io/badge/docs-Bahasa%20Indonesia-pink)](./docs/README.id-ID.md) [![Dokumentation auf Deutsch](https://img.shields.io/badge/docs-Deutsch-darkgreen)](./docs/README.de.md) [![Документация на русском языке](https://img.shields.io/badge/docs-Русский-darkblue)](./docs/README.ru.md) - ## ❌ Без Context7 LLMs полагаются на устаревшую или обобщённую информацию о библиотеках, с которыми вы работаете. В результате этого вы получаете: