Skip to main content
Glama
antondrpq
by antondrpq

Ozon API MCP сервер

MCP (Model Context Protocol) сервер для Ozon Seller API и Ozon Performance API — по образцу Wildberries API MCP Server, тот же каркас (Express + JSON-RPC 2.0 поверх Streamable HTTP), но переписан под особенности Ozon.

Чем Ozon отличается от Wildberries (и почему код не 1:1)

Wildberries

Ozon

Авторизация Seller API

один Bearer-токен (Authorization)

два заголовка одновременно: Client-Id + Api-Key

Домены API

7 разных поддоменов по категориям (advert-api., seller-analytics-api., finance-api. и т.д.)

один домен api-seller.ozon.ru на всё

Реклама

тот же домен и токен, что и остальное

отдельный продукт api-performance.ozon.ru со своим OAuth2 (client_id/client_secretaccess_token по client_credentials, токен живёт ~30 мин)

Пагинация отчётов

курсор rrdId

где курсор last_id/cursor, где обычная постраничная (page/page_size) — зависит от эндпоинта

Права токена

токен создаётся с категориями доступа (Аналитика/Финансы/Продвижение и т.д.)

Api-Key действует на весь личный кабинет сразу, категорийного разделения нет

Это отражено в коде: callOzon() — обычные вызовы Seller API с двумя заголовками, callPerf() — отдельный клиент с кешируемым OAuth-токеном для рекламы.

Related MCP server: mcp-ozon-seller

Инструменты (31 шт.)

Товары / остатки / цены

ozon_product_list, ozon_product_info, ozon_product_description, ozon_product_attributes, ozon_stocks_info, ozon_stocks_update (запись), ozon_prices_info, ozon_prices_update (запись), ozon_warehouse_list

Заказы FBS / FBO

ozon_fbs_postings_list, ozon_fbs_unfulfilled_list, ozon_fbs_posting_get, ozon_fbs_posting_cancel (запись, деструктивно), ozon_fbo_postings_list, ozon_fbo_posting_get

Финансы

ozon_finance_transactions, ozon_finance_transaction_totals, ozon_finance_realization, ozon_finance_summary (композитный: сам пагинирует /v3/finance/transaction/list и агрегирует)

Аналитика

ozon_analytics_data, ozon_analytics_stock_on_warehouses

Реклама (Performance API)

ozon_perf_campaign_list, ozon_perf_campaign_stats_request, ozon_perf_campaign_stats_result (отчёты асинхронные — запрос по UUID, потом опрос), ozon_perf_ads_summary (композитный: сам опрашивает отчёт с ограничением по попыткам)

Отзывы / вопросы / чат

ozon_reviews_list, ozon_review_info, ozon_review_comment_create (запись, публичный текст), ozon_chat_list, ozon_chat_history, ozon_chat_send_message (запись, публичный текст)

Важно: методы отзывов (ozon_reviews_*) требуют подписку Premium Plus в личном кабинете продавца Ozon — без неё Ozon вернёт ошибку доступа.

Установка и запуск

Предварительные требования

  • Node.js ≥ 20

  • Client-Id и Api-Key из личного кабинета Ozon Seller (Настройки → Seller API)

  • (опционально, для рекламы) отдельные Client-Id/Client-Secret из Performance API — создаются в личном кабинете в разделе Продвижение → Performance API

Прямой запуск через Node.js

npm install
cp .env.example .env
# заполните OZON_CLIENT_ID / OZON_API_KEY (и опционально OZON_PERF_*) в .env
npm start

Сервер поднимется на порту 3000. MCP-эндпоинт: http://localhost:3000/mcp, health-check: http://localhost:3000/health.

Docker

cp .env.example .env
docker-compose up -d

Тесты и линтер

npm test
npm run lint

Пример запроса

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "ozon_product_list",
      "arguments": { "limit": 50 }
    }
  }'

Безопасность

  • Ключи Ozon хранятся только в .env на сервере и никогда не уходят клиенту.

  • MCP_API_KEY (опционально) защищает сам MCP-эндпоинт отдельным секретом — независимо от ключей Ozon.

  • HTTPS в проде так же не терминируется сервером — нужен reverse-proxy.

  • Контейнер запускается от непривилегированного пользователя (appuser).

  • Инструменты с записью (*_update, *_cancel, *_comment_create, *_send_message) помечены аннотацией readOnlyHint: falseozon_fbs_posting_cancel — ещё и destructiveHint: true), чтобы клиенты MCP могли различать их и запрашивать подтверждение перед вызовом.

Известные ограничения / что стоит проверить перед продакшном

  1. Точные пути Performance API (/api/client/campaign, /api/client/statistics) документированы Ozon хуже, чем Seller API, и периодически меняются — перед боевым использованием сверьте с актуальной документацией на docs.ozon.ru/api/performance.

  2. ozon_finance_summary и ozon_perf_ads_summary — композитные инструменты, написанные по аналогии с wb_finance_summary/wb_ads_summary из оригинала; они не тестировались против боевого аккаунта Ozon (нет доступа к реальным кредам), только против структуры ответов из документации — обязательно прогоните на своих данных перед доверием к цифрам.

  3. Список инструментов покрывает основные разделы Ozon Seller API, но не весь API целиком (у Ozon ~460 путей); при необходимости легко добавить новый инструмент по тому же паттерну: описание в tools[] + ветка в executeTool().

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    AI-доступ к кабинетам Wildberries и Ozon через MCP-сервера над Seller API. Обеспечивает 793 метода для управления продажами, остатками, ценами, финансами, отзывами и рекламой с safety-гейтом и авто-пагинацией.
    58
    17
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Ozon Seller API that enables AI clients to manage products, prices, stocks, orders, analytics, and finances on Ozon marketplace.
    26
    73
    6
    Unlicense - libtelnet variant

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antondrpq/Ozon-API-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server