ozon-mcp-ru
API Ozon Seller для ИИ-ассистентов: товары, заказы FBS и FBO, цены, остатки, финансы, отзывы. Каталог исполняется сервером, у каждого метода класс доступа.
Пакет поднимает один сервер, Ozon Seller, и ничего больше. Сервер, каталог и
ядро приходят зависимостью из marketplaces-mcp-ru:
здесь имя, точка входа и документация под один маркетплейс.
Установка
Первый релиз на PyPI выпускается тегом v0.5.3, до этого пакет ставится прямо из репозитория:
uvx --from git+https://github.com/ilyautov/ozon-mcp-ru ozon-mcp-ru
После релиза строка короче:
uvx ozon-mcp-ru
Claude Desktop, claude_desktop_config.json:
{
"mcpServers": {
"ozon": {
"command": "uvx",
"args": ["--from", "git+https://github.com/ilyautov/ozon-mcp-ru", "ozon-mcp-ru"],
"env": { "OZON_CLIENT_ID": "...", "OZON_API_KEY": "..." }
}
}
}
Третий путь, если агент умеет скиллы: он поставит сервер и настроит клиент сам.
npx skills add ilyautov/ozon-mcp-ru
Ключи
Seller API: Client-Id и Api-Key. Зайдите в кабинет seller.ozon.ru, откройте Настройки, раздел API-ключи. Ozon выдаёт пару: Client-Id (число) и Api-Key. Оба уходят в заголовки одноимённых имён, хост запроса api-seller.ozon.ru.
Performance API: client_id и client_secret. Рекламный кабинет живёт отдельно и авторизуется по OAuth2: пара client_id и client_secret меняется на токен, хост api-performance.ozon.ru. Ключи Seller API там не работают, и наоборот.
Куда положить, чтобы не хранить в открытую. Сервер спросит ключи при первом запуске и положит их в ~/.marketplace-mcp/cabinets.json с правами chmod 600. В репозиторий и в чат они не попадают. Магазинов можно подключить несколько и переключаться между ними прямо из чата.
| переменная | секрет | что это |
|---|---|---|
OZON_CLIENT_ID |
да | Client-Id из кабинета seller.ozon.ru, Настройки → API-ключи. |
OZON_API_KEY |
да | Api-Key из той же пары. Оба уходят в одноимённые заголовки. |
Ключи можно не держать в окружении: сервер умеет кабинеты и кладёт их в
~/.marketplace-mcp/cabinets.json с правами 600, вне репозитория. Магазинов
подключается сколько нужно, переключение прямо из чата.
Карта методов
Каталог лежит в зависимости как ozon_mcp/endpoints.yaml:
441 метод, из них 190 на чтение, 240 на запись и 11 необратимых.
Сервер исполняет ровно этот файл, поэтому таблица не может разойтись с кодом.
| тема | методов | чтение | запись | необратимые |
|---|---|---|---|---|
| Заказы FBS и доставка | 112 | 37 | 73 | 2 |
| Заказы FBO и склады | 64 | 37 | 25 | 2 |
| Товары и карточки | 55 | 30 | 24 | 1 |
| Кросс-док FBP | 45 | 15 | 27 | 3 |
| Акции и продвижение | 31 | 9 | 21 | 1 |
| Возвраты и отмены | 30 | 11 | 19 | 0 |
| Отзывы, вопросы и чаты | 27 | 10 | 16 | 1 |
| Финансы и отчёты | 25 | 11 | 14 | 0 |
| Кабинет и служебное | 22 | 12 | 9 | 1 |
| Цены и остатки | 21 | 11 | 10 | 0 |
| Аналитика | 9 | 7 | 2 | 0 |
Подробный разбор с параметрами и лимитами: https://marketplaces-mcp-ru.aifrontier.tech/ozon-api.html
Что спросить в чате
- покажи продажи на Ozon за неделю по дням
- какие товары с красным индексом цены
- вытащи отчёт о начислениях за прошлый месяц
- собери отзывы ниже 4 звёзд и сгруппируй жалобы
Частые ошибки
401 или «Client-Id should be positive integer», хотя ключ верный. Первым делом смотрите не переменные окружения, а ~/.marketplace-mcp/cabinets.json: активный кабинет в этом файле имеет приоритет над env и молча затеняет то, что вы экспортировали в терминале.
404 на методе, который точно существует. Ozon дрейфует по версиям, и разные разделы живут на разных: список товаров на v3, атрибуты на v4, цены на v5. При 404 проверяйте версию в пути раньше всего остального.
405 Method Not Allowed. Скорее всего это метод, импортированный из спецификации: путь у таких записей надёжный, а HTTP-глагол не всегда. Живая проба находила методы, помеченные GET, которые на деле POST. Сверьтесь с документацией или вызовите через call_raw.
Чем это отличается от marketplaces-mcp-ru
Ничем, кроме состава. marketplaces-mcp-ru ставит четыре маркетплейса сразу и держит их
под одним сервером, ozon-mcp-ru ставит один. Код общий: правка в ядре доезжает
сюда обновлением зависимости, а не копированием.
Рекламный кабинет Ozon это отдельный API с другой авторизацией. Он тоже есть в marketplaces-mcp-ru, команда ozon-perf-mcp, 45 методов.
| нужно | пакет |
|---|---|
| только Ozon Seller | ozon-mcp-ru |
| все четыре маркетплейса | marketplaces-mcp-ru |
Кто это сделал
Илья Утов, лаборатория AI Frontier. Как эти инструменты устроены внутри, пишу в Telegram и LinkedIn.
Рядом стоят business-mcp-ru (hh.ru, VK, Диадок, СБИС, Честный знак), moysklad-mcp-ru и humanizer-ru.
Лицензия
MIT, см. LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ozon_mcp_ru-0.5.3.tar.gz.
File metadata
- Download URL: ozon_mcp_ru-0.5.3.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2020692175c860addd8112994641f1885a7b0d2a440338dd36548efa0c5e32fc
|
|
| MD5 |
54b4197ee8a4d4a1490482de1df3f117
|
|
| BLAKE2b-256 |
3a0986617560b1790406840fcb2e824d9ddee34dfb9f0c7caf0e8ca24f7600b5
|
Provenance
The following attestation bundles were made for ozon_mcp_ru-0.5.3.tar.gz:
Publisher:
publish-pypi.yml on ilyautov/ozon-mcp-ru
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ozon_mcp_ru-0.5.3.tar.gz -
Subject digest:
2020692175c860addd8112994641f1885a7b0d2a440338dd36548efa0c5e32fc - Sigstore transparency entry: 2797956722
- Sigstore integration time:
-
Permalink:
ilyautov/ozon-mcp-ru@9b65f25a33cdbe9dc70c52c5679f241cb4faee90 -
Branch / Tag:
refs/tags/v0.5.3 - Owner: https://github.com/ilyautov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9b65f25a33cdbe9dc70c52c5679f241cb4faee90 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ozon_mcp_ru-0.5.3-py3-none-any.whl.
File metadata
- Download URL: ozon_mcp_ru-0.5.3-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8c0aed4e4ab70a7306a8e14967952cd816be188c61a371c90913d2509931633
|
|
| MD5 |
e5b847d1129eee3e69d7876730aa01c6
|
|
| BLAKE2b-256 |
244365fca05a196d3652e240eb719ecd1119f7a41a47f544dbabf0dcf49dff92
|
Provenance
The following attestation bundles were made for ozon_mcp_ru-0.5.3-py3-none-any.whl:
Publisher:
publish-pypi.yml on ilyautov/ozon-mcp-ru
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ozon_mcp_ru-0.5.3-py3-none-any.whl -
Subject digest:
e8c0aed4e4ab70a7306a8e14967952cd816be188c61a371c90913d2509931633 - Sigstore transparency entry: 2797956877
- Sigstore integration time:
-
Permalink:
ilyautov/ozon-mcp-ru@9b65f25a33cdbe9dc70c52c5679f241cb4faee90 -
Branch / Tag:
refs/tags/v0.5.3 - Owner: https://github.com/ilyautov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9b65f25a33cdbe9dc70c52c5679f241cb4faee90 -
Trigger Event:
push
-
Statement type: