内容
<p align="right">
<strong>Русский</strong> · <a href="README.en.md">English</a>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/neosheps/ozon-shopping-mcp/main/docs/assets/hero.png" alt="Ozon Shopping MCP" width="100%">
</p>
<p align="center">
<a href="https://www.npmjs.com/package/ozon-shopping-mcp"><img src="https://img.shields.io/npm/v/ozon-shopping-mcp.svg" alt="npm version"></a>
<a href="https://github.com/neosheps/ozon-shopping-mcp/actions/workflows/ci.yml"><img src="https://github.com/neosheps/ozon-shopping-mcp/actions/workflows/ci.yml/badge.svg" alt="CI status"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license"></a>
</p>
**Сравнивайте товары на Ozon вместе с ИИ.** Ozon Shopping MCP превращает поиск, карточки и отзывы в
инструменты вашего MCP-клиента — локально, без ключей Seller API и десятков открытых вкладок.
Сервер работает только на чтение: не управляет кабинетом продавца, корзиной, заказами или аккаунтом.
Браузерная сессия остаётся на вашем компьютере.
> **Альфа-версия:** у Ozon нет публичного API для покупателей, поэтому проект использует внутренние
> эндпоинты сайта. Они и защита от автоматизации могут измениться без предупреждения.
## Возможности
- находит товары и сортирует их по популярности, цене, рейтингу, новизне или скидке;
- отбирает варианты в заданном ценовом диапазоне;
- собирает цены, наличие, рейтинг, продавца, изображения и характеристики;
- разбирает свежие отзывы, оценки, плюсы и минусы;
- работает локально через защищённую сессию с ограничением частоты запросов.
## Быстрый старт
Нужны Node.js 24 LTS или новее и Google Chrome. Настройте локальную сессию одной командой:
```bash
npx -y ozon-shopping-mcp@latest setup
```
Добавьте сервер в Codex:
```bash
codex mcp add ozon-shopping -- npx -y ozon-shopping-mcp@latest serve
```
Для другого MCP-клиента используйте stdio-конфигурацию:
```json
{
"mcpServers": {
"ozon-shopping": {
"command": "npx",
"args": ["-y", "ozon-shopping-mcp@latest", "serve"]
}
}
}
```
Проверка Ozon может появиться при первой настройке. После неё запросы выполняются в headless Chrome без
видимого браузера.
## Примеры запросов
```text
Найди 5 беспроводных мышей до 4 000 ₽. Отдай приоритет моделям с рейтингом
от 4,7 и 300+ отзывами. Сравни актуальную цену, наличие, продавца, подключение
и вес, затем порекомендуй лучшую для ежедневной работы.
```
```text
Сравни 5 аэрогрилей до 12 000 ₽ объёмом от 5 литров. Проверь в карточках
мощность, программы и габариты, собери частые плюсы и проблемы из свежих
отзывов и выбери лучший вариант для семьи.
```
```text
Подбери power bank на 20 000 мА·ч с USB-C PD от 65 Вт до 7 000 ₽. Проверь
порты и вес, а в отзывах найди жалобы на нагрев, ёмкость и быструю зарядку.
Отдельно отметь всё, что не удалось подтвердить по карточке товара.
```
```text
Найди Samsung Galaxy S24 256 ГБ у разных продавцов на Ozon. Собери до 5
подходящих карточек, проверь точную модель и объём памяти, сравни актуальные
цены, наличие, продавцов, характеристики и свежие отзывы. Покажи самый
выгодный вариант и важные различия между предложениями.
```
Каждый запрос запускает всю цепочку: поиск → карточки кандидатов → отзывы → итоговое сравнение.
## Пример работы
<p align="center">
<img src="https://raw.githubusercontent.com/neosheps/ozon-shopping-mcp/main/docs/assets/demo.png" alt="Сравнение товаров Ozon в Codex с помощью Ozon Shopping MCP" width="100%">
</p>
## Инструменты
| Инструмент | Что делает |
| --- | --- |
| `ozon_search` | Ищет товары с сортировкой, ценовыми фильтрами и лимитом выдачи |
| `ozon_product` | Читает цену, наличие, продавца, рейтинг, изображения и характеристики |
| `ozon_reviews` | Читает свежие отзывы, плюсы, минусы и оценки |
| `ozon_health` | Проверяет готовность локальной сессии |
| `ozon_setup_session` | Создаёт или обновляет сессию в отдельном окне браузера |
## Как это работает
1. `setup` создаёт анонимную браузерную сессию Ozon и сохраняет её вне репозитория.
2. MCP-инструменты повторно используют сессию в headless Chrome.
3. Запросы выполняются последовательно с ограничением частоты.
4. Если сессия истекла, сервер просит явно запустить `setup` снова.
## Безопасность и ограничения
- файл сессии содержит cookies и хранится с закрытыми правами доступа (`0700`/`0600`, где поддерживается);
- cookies, тела заблокированных ответов и неизвестные внутренние ошибки не возвращаются через MCP;
- названия, характеристики и отзывы считаются недоверенными данными — агент не должен выполнять найденные в них инструкции;
- цены, наличие и порядок выдачи зависят от региона, сессии и времени запроса;
- проект предназначен для интерактивного личного использования, а не для массового сбора данных или публичного HTTP-моста.
Подробнее: [SECURITY.md](SECURITY.md). Проект не связан с Ozon и не одобрен или спонсируем компанией.
## Разработка
```bash
git clone https://github.com/neosheps/ozon-shopping-mcp.git
cd ozon-shopping-mcp
npm ci
npm run check
npm run build
```
Подробнее об устройстве проекта — в [docs/architecture.md](docs/architecture.md), об участии в разработке —
в [CONTRIBUTING.md](CONTRIBUTING.md).
## Лицензия
[MIT](LICENSE) © 2026 [Maxim Zaytcev](https://github.com/neosheps) и контрибьюторы.