{
  "markdown": "# ozon-mcp-ru\n\n<!-- mcp-name: io.github.ilyautov/ozon-mcp-ru -->\n\nAPI Ozon Seller для ИИ-ассистентов: товары, заказы FBS и FBO, цены, остатки, финансы, отзывы. Каталог исполняется сервером, у каждого метода класс доступа.\n\n[![PyPI](https://img.shields.io/pypi/v/ozon-mcp-ru?label=pypi&color=B5491F)](https://pypi.org/project/ozon-mcp-ru/)\n[![CI](https://github.com/ilyautov/ozon-mcp-ru/actions/workflows/ci.yml/badge.svg)](https://github.com/ilyautov/ozon-mcp-ru/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Методов](https://img.shields.io/badge/метод-441-2D7D4F)](#карта-методов)\n[![Сайт](https://img.shields.io/badge/%D1%81%D0%B0%D0%B9%D1%82-marketplaces--mcp--ru-9A3E1A)](https://marketplaces-mcp-ru.aifrontier.tech/ozon-api.html)\n[![Звёзды](https://img.shields.io/github/stars/ilyautov/ozon-mcp-ru?style=flat&label=%D0%B7%D0%B2%D1%91%D0%B7%D0%B4%D1%8B&color=B5491F&logo=github&logoColor=white)](https://github.com/ilyautov/ozon-mcp-ru/stargazers)\n\n<p align=\"center\">\n  <a href=\"https://marketplaces-mcp-ru.aifrontier.tech/ozon-api.html\">\n    <img src=\"assets/social-preview.png\" alt=\"ozon-mcp-ru: API Ozon Seller в ИИ-ассистенте. 441 метод\" width=\"760\">\n  </a>\n</p>\n\nПакет поднимает один сервер, Ozon Seller, и ничего больше. Сервер, каталог и\nядро приходят зависимостью из [`marketplaces-mcp-ru`](https://github.com/ilyautov/marketplaces-mcp-ru):\nздесь имя, точка входа и документация под один маркетплейс.\n\n## Установка\n\nПакет на PyPI, поэтому строка одна:\n\n```bash\nuvx ozon-mcp-ru\n```\n\nЕсли нужна ветка `main`, а не релиз:\n\n```bash\nuvx --from git+https://github.com/ilyautov/ozon-mcp-ru ozon-mcp-ru\n```\n\nClaude Desktop, `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"ozon\": {\n      \"command\": \"uvx\",\n      \"args\": [\"ozon-mcp-ru\"],\n      \"env\": { \"OZON_CLIENT_ID\": \"...\", \"OZON_API_KEY\": \"...\" }\n    }\n  }\n}\n```\n\nТретий путь, если агент умеет скиллы: он поставит сервер и настроит клиент сам.\n\n```bash\nnpx skills add ilyautov/ozon-mcp-ru\n```\n\n## Ключи\n\n**Seller API: Client-Id и Api-Key.** Зайдите в кабинет `seller.ozon.ru`, откройте **Настройки**, раздел **API-ключи**. Ozon выдаёт пару: `Client-Id` (число) и `Api-Key`. Оба уходят в заголовки одноимённых имён, хост запроса `api-seller.ozon.ru`.\n\n**Performance API: client_id и client_secret.** Рекламный кабинет живёт отдельно и авторизуется по OAuth2: пара `client_id` и `client_secret` меняется на токен, хост `api-performance.ozon.ru`. Ключи Seller API там не работают, и наоборот.\n\n**Куда положить, чтобы не хранить в открытую.** Сервер спросит ключи при первом запуске и положит их в `~/.marketplace-mcp/cabinets.json` с правами `chmod 600`. В репозиторий и в чат они не попадают. Магазинов можно подключить несколько и переключаться между ними прямо из чата.\n\n| переменная | секрет | что это |\n|---|---|---|\n| `OZON_CLIENT_ID` | да | Client-Id из кабинета seller.ozon.ru, Настройки → API-ключи. |\n| `OZON_API_KEY` | да | Api-Key из той же пары. Оба уходят в одноимённые заголовки. |\n\nКлючи можно не держать в окружении: сервер умеет кабинеты и кладёт их в\n`~/.marketplace-mcp/cabinets.json` с правами 600, вне репозитория. Магазинов\nподключается сколько нужно, переключение прямо из чата.\n\n## Карта методов\n\nКаталог лежит в зависимости как `ozon_mcp/endpoints.yaml`:\n**441 метод**, из них 190 на чтение, 240 на запись и 11 необратимых.\nСервер исполняет ровно этот файл, поэтому таблица не может разойтись с кодом.\n\n| тема | методов | чтение | запись | необратимые |\n|---|---:|---:|---:|---:|\n| Заказы FBS и доставка | 112 | 37 | 73 | 2 |\n| Заказы FBO и склады | 64 | 37 | 25 | 2 |\n| Товары и карточки | 55 | 30 | 24 | 1 |\n| Кросс-док FBP | 45 | 15 | 27 | 3 |\n| Акции и продвижение | 31 | 9 | 21 | 1 |\n| Возвраты и отмены | 30 | 11 | 19 | 0 |\n| Отзывы, вопросы и чаты | 27 | 10 | 16 | 1 |\n| Финансы и отчёты | 25 | 11 | 14 | 0 |\n| Кабинет и служебное | 22 | 12 | 9 | 1 |\n| Цены и остатки | 21 | 11 | 10 | 0 |\n| Аналитика | 9 | 7 | 2 | 0 |\n\nПодробный разбор с параметрами и лимитами: [https://marketplaces-mcp-ru.aifrontier.tech/ozon-api.html](https://marketplaces-mcp-ru.aifrontier.tech/ozon-api.html)\n\n## Что спросить в чате\n\n- покажи продажи на Ozon за неделю по дням\n- какие товары с красным индексом цены\n- вытащи отчёт о начислениях за прошлый месяц\n- собери отзывы ниже 4 звёзд и сгруппируй жалобы\n\n## Частые ошибки\n\n**401 или «Client-Id should be positive integer», хотя ключ верный.** Первым делом смотрите не переменные окружения, а `~/.marketplace-mcp/cabinets.json`: активный кабинет в этом файле имеет приоритет над env и молча затеняет то, что вы экспортировали в терминале.\n\n**404 на методе, который точно существует.** Ozon дрейфует по версиям, и разные разделы живут на разных: список товаров на `v3`, атрибуты на `v4`, цены на `v5`. При 404 проверяйте версию в пути раньше всего остального.\n\n**405 Method Not Allowed.** Скорее всего это метод, импортированный из спецификации: путь у таких записей надёжный, а HTTP-глагол не всегда. Живая проба находила методы, помеченные GET, которые на деле POST. Сверьтесь с документацией или вызовите через `call_raw`.\n\n## Чем это отличается от marketplaces-mcp-ru\n\nНичем, кроме состава. `marketplaces-mcp-ru` ставит четыре маркетплейса сразу и держит их\nпод одним сервером, `ozon-mcp-ru` ставит один. Код общий: правка в ядре доезжает\nсюда обновлением зависимости, а не копированием.\n\nРекламный кабинет Ozon это отдельный API с другой авторизацией. Он тоже есть в `marketplaces-mcp-ru`, команда `ozon-perf-mcp`, 45 методов.\n\n| нужно | пакет |\n|---|---|\n| только Ozon Seller | `ozon-mcp-ru` |\n| все четыре маркетплейса | `marketplaces-mcp-ru` |\n\n## Кто это сделал\n\n[Илья Утов](https://github.com/ilyautov), лаборатория\n[AI Frontier](https://aifrontier.tech). Как эти инструменты устроены внутри,\nпишу в [Telegram](https://t.me/gorilla_under_hood) и\n[LinkedIn](https://www.linkedin.com/in/ilyautov).\n\nРядом стоят [**business-mcp-ru**](https://github.com/ilyautov/business-mcp-ru)\n(hh.ru, VK, Диадок, СБИС, Честный знак),\n[**moysklad-mcp-ru**](https://github.com/ilyautov/moysklad-mcp-ru) и\n[**humanizer-ru**](https://github.com/ilyautov/humanizer-ru).\n\nВсе проекты одним списком, разобранные по назначению:\n[ilyautov.github.io](https://ilyautov.github.io/).\n\n## Лицензия\n\nMIT, см. [LICENSE](LICENSE).\n",
  "bytes": 6299,
  "sha": "cf8472a54aba288a9c66184ccafb7bae6cdc8f312560f9b0fe62cd3cdb05e4ce",
  "repo_slug": "ilyautov/ozon-mcp-ru",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ilyautov_ozon_mcp_ru_468f953b/readme"
}