{
  "markdown": "<!-- mcp-name: io.github.dontsovcmc/ozon-seller -->\n\n# mcp-server-ozon-seller\n\n[![Version](https://img.shields.io/badge/version-0.3.1-blue)](https://github.com/dontsovcmc/mcp-server-ozon-seller)\n\nMCP-сервер, CLI-утилита и библиотека Pydantic-моделей для [Ozon Seller API](https://docs.ozon.ru/api/seller/).\n\n- **MCP-сервер** — интеграция с Claude Code, Claude Desktop и другими MCP-клиентами\n- **CLI-утилита** — работа с API из терминала, скрипты и автоматизация\n- **Pydantic-модели** — типизированные модели API для использования в своих Python-программах\n\nВсе данные остаются на вашем компьютере — ключи API никуда не передаются.\n\n## Оглавление\n\n- [Архитектура](#архитектура)\n- [Доступные действия](#доступные-действия-111)\n- [MCP-сервер](#mcp-сервер)\n  - [Установка](#установка)\n  - [Подключение к Claude Code](#подключение-к-claude-code)\n  - [Подключение к Claude Desktop](#подключение-к-claude-desktop)\n  - [Подключение через --mcp-config](#подключение-через---mcp-config)\n  - [Примеры](#примеры-mcp)\n- [CLI-утилита](#cli-утилита)\n  - [Установка](#установка-cli)\n  - [Использование](#использование-cli)\n  - [Примеры команд](#примеры-команд)\n- [Pydantic-модели](#pydantic-модели)\n  - [Установка](#установка-библиотеки)\n  - [Использование в своих программах](#использование-в-своих-программах)\n- [Переменные окружения](#переменные-окружения)\n- [Разработка](#разработка)\n- [Лицензия](#лицензия)\n\n## Архитектура\n\nСервер использует паттерн **search + execute** — вместо 111 отдельных инструментов предоставляет 3:\n\n| Инструмент | Описание |\n|------------|----------|\n| `ozon_search` | Поиск действий по описанию на естественном языке |\n| `ozon_execute` | Выполнение действия по ID |\n| `ozon_execute_file` | Выполнение действия со скачиванием файла |\n\n### Как это работает\n\n```\nLLM: ozon_search(\"отменить отправление fbs\")\n→ [{\"id\": \"fbs-posting-cancel\", \"params_schema\": {\"posting_number\": \"str\", ...}, ...}]\n\nLLM: ozon_execute(\"fbs-posting-cancel\", '{\"posting_number\": \"12345678-0001-1\", \"cancel_reason_id\": 352}')\n→ {\"result\": true}\n```\n\n## Доступные действия (111)\n\n| Домен | Кол-во | Описание |\n|-------|--------|----------|\n| [`products`](docs/products.md) | 21 | Товары: создание, обновление, цены, остатки, атрибуты |\n| [`fbs`](docs/fbs.md) | 17 | FBS-отправления: списки, отмены, этикетки, акты |\n| [`fbo`](docs/fbo.md) | 9 | FBO: отправления, поставки, склады |\n| [`categories`](docs/categories.md) | 4 | Категории и атрибуты товаров |\n| [`finance`](docs/finance.md) | 4 | Финансы: транзакции, итоги, движение средств |\n| [`analytics`](docs/analytics.md) | 3 | Аналитика: данные, остатки, оборачиваемость |\n| [`warehouses`](docs/warehouses.md) | 2 | Склады и способы доставки |\n| [`returns`](docs/returns.md) | 8 | Возвраты FBO/FBS/rFBS |\n| [`chats`](docs/chats.md) | 6 | Чаты с покупателями |\n| [`promos`](docs/promos.md) | 6 | Акции и промо |\n| [`strategies`](docs/strategies.md) | 4 | Ценовые стратегии |\n| [`rating`](docs/rating.md) | 3 | Рейтинг и качество продавца |\n| [`reports`](docs/reports.md) | 4 | Отчёты |\n| [`reviews`](docs/reviews.md) | 4 | Отзывы покупателей |\n| [`questions`](docs/questions.md) | 3 | Вопросы покупателей |\n| [`cancellations`](docs/cancellations.md) | 4 | Заявки на отмену |\n| [`certificates`](docs/certificates.md) | 6 | Сертификаты |\n| [`barcodes`](docs/barcodes.md) | 2 | Штрихкоды |\n| [`brands`](docs/brands.md) | 1 | Бренды |\n\n---\n\n## MCP-сервер\n\n### Установка\n\n#### Шаг 1. Получить API-ключи\n\n1. Войдите в [Ozon Seller](https://seller.ozon.ru/)\n2. Перейдите в **Настройки** → **API-ключи**\n3. Создайте ключ (Admin)\n4. Скопируйте `Client-Id` и `Api-Key`\n\n#### Шаг 2. Подключить MCP-сервер\n\n### Подключение к Claude Code\n\n**Способ 1: через uvx** (не требует установки пакета)\n\n> Требуется [uv](https://docs.astral.sh/uv/) — если не установлен:\n> ```bash\n> curl -LsSf https://astral.sh/uv/install.sh | sh\n> ```\n\n```bash\nclaude mcp add ozon-seller \\\n  -e OZON_CLIENT_ID=ваш_client_id \\\n  -e OZON_API_KEY=ваш_api_key \\\n  -- uvx mcp-server-ozon-seller\n```\n\n**Способ 2: через pip**\n\n```bash\npip install mcp-server-ozon-seller\n\nclaude mcp add ozon-seller \\\n  -e OZON_CLIENT_ID=ваш_client_id \\\n  -e OZON_API_KEY=ваш_api_key \\\n  -- mcp-server-ozon-seller\n```\n\nДля удаления:\n```bash\nclaude mcp remove ozon-seller\n```\n\n### Подключение к Claude Desktop\n\nДобавьте в конфигурационный файл:\n\n| Клиент | ОС | Путь к файлу |\n|--------|----|-------------|\n| Claude Code | все | `~/.claude/settings.json` (секция `mcpServers`) |\n| Claude Desktop | macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| Claude Desktop | Windows | `%APPDATA%\\Claude\\claude_desktop_config.json` |\n| Claude Desktop | Linux | `~/.config/Claude/claude_desktop_config.json` |\n\n**Через uvx:**\n```json\n{\n  \"mcpServers\": {\n    \"ozon-seller\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-ozon-seller\"],\n      \"env\": {\n        \"OZON_CLIENT_ID\": \"ваш_client_id\",\n        \"OZON_API_KEY\": \"ваш_api_key\"\n      }\n    }\n  }\n}\n```\n\n**Через pip** (после `pip install mcp-server-ozon-seller`):\n```json\n{\n  \"mcpServers\": {\n    \"ozon-seller\": {\n      \"command\": \"mcp-server-ozon-seller\",\n      \"env\": {\n        \"OZON_CLIENT_ID\": \"ваш_client_id\",\n        \"OZON_API_KEY\": \"ваш_api_key\"\n      }\n    }\n  }\n}\n```\n\n### Подключение через --mcp-config\n\nПодключает сервер только на время одной сессии Claude, не сохраняя в настройки. Токен хранится в отдельном `.env.mcp` файле, а не в конфиге Claude.\n\nИз JSON-строки:\n```bash\nclaude --mcp-config '{\"ozon-seller\":{\"command\":\"bash\",\"args\":[\"-c\",\"source ~/.env.mcp && exec uvx mcp-server-ozon-seller\"]}}'\n```\n\nИз файла:\n```bash\nclaude --mcp-config ~/mcp-servers.json\n```\n\nПример `~/mcp-servers.json`:\n```json\n{\n  \"ozon-seller\": {\n    \"command\": \"bash\",\n    \"args\": [\"-c\", \"source ~/.env.mcp && exec uvx mcp-server-ozon-seller\"]\n  }\n}\n```\n\nПример `~/.env.mcp`:\n```\nOZON_CLIENT_ID=ваш_client_id\nOZON_API_KEY=ваш_api_key\n```\n\n#### Шаг 3. Проверить\n\nПопросите Claude: *«покажи мои товары на Ozon»* — он вызовет `ozon_search`, затем `ozon_execute`.\n\n### Примеры (MCP)\n\n- «покажи мои товары на Ozon» → `ozon_search(\"products list\")` → `ozon_execute(\"product-list\")`\n- «отмени FBS отправление 12345678-0001-1» → `ozon_execute(\"fbs-posting-cancel\", ...)`\n- «скачай акт приёмки №42» → `ozon_execute_file(\"fbs-act-pdf\", ...)`\n- «какие FBS заказы ещё не собраны?» → `ozon_execute(\"fbs-postings-list\", ...)`\n- «покажи финансовые транзакции за апрель» → `ozon_execute(\"finance-transactions\", ...)`\n\n---\n\n## CLI-утилита\n\n### Установка (CLI)\n\n```bash\npip install mcp-server-ozon-seller\n```\n\nПеременные окружения `OZON_CLIENT_ID` и `OZON_API_KEY` должны быть установлены:\n\n```bash\nexport OZON_CLIENT_ID=ваш_client_id\nexport OZON_API_KEY=ваш_api_key\n```\n\nИли через файл:\n\n```bash\nozon-seller-cli --env /path/to/.env <command>\n```\n\nФормат файла — `KEY=VALUE`, по одной переменной на строку, `#`-комментарии.\n\n### Использование (CLI)\n\nБез аргументов запускается MCP-сервер, с командой — CLI. Все команды выводят JSON.\n\n```bash\n# Версия\nozon-seller-cli --version\n\n# Справка\nozon-seller-cli --help\nozon-seller-cli <command> --help\n```\n\n### Примеры команд\n\n```bash\n# Товары\nozon-seller-cli product-list --limit 10\nozon-seller-cli product-info --offer-id SKU-001\nozon-seller-cli product-stocks-info\n\n# FBS-отправления\nozon-seller-cli fbs-list\nozon-seller-cli fbs-cancel-reasons\nozon-seller-cli fbs-label 12345678-0001-1\n\n# FBO\nozon-seller-cli fbo-list\nozon-seller-cli fbo-supply-list\n\n# Финансы и аналитика\nozon-seller-cli finance-transactions '{\"date\": {\"from\": \"2026-04-01\", \"to\": \"2026-04-25\"}}'\nozon-seller-cli analytics-stock\n\n# Возвраты\nozon-seller-cli returns-fbs\nozon-seller-cli returns-fbo\n\n# Другое\nozon-seller-cli warehouses\nozon-seller-cli categories\nozon-seller-cli rating\nozon-seller-cli reviews\nozon-seller-cli brands\n```\n\n---\n\n## Pydantic-модели\n\nПакет содержит типизированные Pydantic-модели всех объектов API. Модели можно использовать в своих Python-программах для валидации данных и автодополнения в IDE.\n\n### Установка (библиотеки)\n\n```bash\npip install mcp-server-ozon-seller\n```\n\n### Использование в своих программах\n\n```python\nfrom mcp_server_ozon_seller.models import FbsPostingsListParams\n\n# Валидация данных\nparams = FbsPostingsListParams.model_validate({\n    \"filter_dict\": {\"status\": \"awaiting_packaging\"},\n    \"limit\": 50,\n})\nprint(params.model_dump_json())\n\n# Создание объекта\nparams = FbsPostingsListParams(limit=10)\nprint(params.limit)  # type-safe доступ к полям\n```\n\nВсе модели используют `extra=\"allow\"` для forward compatibility — неизвестные поля API не вызывают ошибок.\n\nПолный список моделей: [`models.py`](src/mcp_server_ozon_seller/models.py)\n\n---\n\n## Переменные окружения\n\n| Переменная | Обязательная | По умолчанию | Описание |\n|------------|:------------:|:------------:|----------|\n| `OZON_CLIENT_ID` | да | — | Client-Id из личного кабинета Ozon Seller |\n| `OZON_API_KEY` | да | — | Api-Key из личного кабинета Ozon Seller |\n| `OZON_TIMEOUT` | нет | `30` | Таймаут HTTP-запросов к API (секунды) |\n| `OZON_FILE_TIMEOUT` | нет | `60` | Таймаут скачивания файлов (секунды) |\n\nПолучить ключи: [Ozon Seller](https://seller.ozon.ru/) → Настройки → API-ключи.\n\n## Разработка\n\n```bash\npip install -e \".[test]\"\nruff check src/ tests/\npytest tests/ -v\n```\n\n## Лицензия\n\nMIT\n",
  "bytes": 9246,
  "sha": "52124427d9b37db52458f4408fc0baf8d68bbad9fbf8dcb09810ef6a30d95064",
  "repo_slug": "dontsovcmc/mcp-server-ozon-seller",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dontsovcmc_ozon_seller_39b8b20b/readme"
}