Skip to main content
Glama
dontsovcmc

io.github.dontsovcmc/ozon-seller

by dontsovcmc

mcp-server-ozon-seller

Version

MCP-сервер, CLI-утилита и библиотека Pydantic-моделей для Ozon Seller API.

  • MCP-сервер — интеграция с Claude Code, Claude Desktop и другими MCP-клиентами

  • CLI-утилита — работа с API из терминала, скрипты и автоматизация

  • Pydantic-модели — типизированные модели API для использования в своих Python-программах

Все данные остаются на вашем компьютере — ключи API никуда не передаются.

Оглавление

Related MCP server: Ozon MCP Server

Архитектура

Сервер использует паттерн search + execute — вместо 111 отдельных инструментов предоставляет 3:

Инструмент

Описание

ozon_search

Поиск действий по описанию на естественном языке

ozon_execute

Выполнение действия по ID

ozon_execute_file

Выполнение действия со скачиванием файла

Как это работает

LLM: ozon_search("отменить отправление fbs")
→ [{"id": "fbs-posting-cancel", "params_schema": {"posting_number": "str", ...}, ...}]

LLM: ozon_execute("fbs-posting-cancel", '{"posting_number": "12345678-0001-1", "cancel_reason_id": 352}')
→ {"result": true}

Доступные действия (111)

Домен

Кол-во

Описание

products

21

Товары: создание, обновление, цены, остатки, атрибуты

fbs

17

FBS-отправления: списки, отмены, этикетки, акты

fbo

9

FBO: отправления, поставки, склады

categories

4

Категории и атрибуты товаров

finance

4

Финансы: транзакции, итоги, движение средств

analytics

3

Аналитика: данные, остатки, оборачиваемость

warehouses

2

Склады и способы доставки

returns

8

Возвраты FBO/FBS/rFBS

chats

6

Чаты с покупателями

promos

6

Акции и промо

strategies

4

Ценовые стратегии

rating

3

Рейтинг и качество продавца

reports

4

Отчёты

reviews

4

Отзывы покупателей

questions

3

Вопросы покупателей

cancellations

4

Заявки на отмену

certificates

6

Сертификаты

barcodes

2

Штрихкоды

brands

1

Бренды


MCP-сервер

Установка

Шаг 1. Получить API-ключи

  1. Войдите в Ozon Seller

  2. Перейдите в НастройкиAPI-ключи

  3. Создайте ключ (Admin)

  4. Скопируйте Client-Id и Api-Key

Шаг 2. Подключить MCP-сервер

Подключение к Claude Code

Способ 1: через uvx (не требует установки пакета)

Требуется uv — если не установлен:

curl -LsSf https://astral.sh/uv/install.sh | sh
claude mcp add ozon-seller \
  -e OZON_CLIENT_ID=ваш_client_id \
  -e OZON_API_KEY=ваш_api_key \
  -- uvx mcp-server-ozon-seller

Способ 2: через pip

pip install mcp-server-ozon-seller

claude mcp add ozon-seller \
  -e OZON_CLIENT_ID=ваш_client_id \
  -e OZON_API_KEY=ваш_api_key \
  -- mcp-server-ozon-seller

Для удаления:

claude mcp remove ozon-seller

Подключение к Claude Desktop

Добавьте в конфигурационный файл:

Клиент

ОС

Путь к файлу

Claude Code

все

~/.claude/settings.json (секция mcpServers)

Claude Desktop

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop

Windows

%APPDATA%\Claude\claude_desktop_config.json

Claude Desktop

Linux

~/.config/Claude/claude_desktop_config.json

Через uvx:

{
  "mcpServers": {
    "ozon-seller": {
      "command": "uvx",
      "args": ["mcp-server-ozon-seller"],
      "env": {
        "OZON_CLIENT_ID": "ваш_client_id",
        "OZON_API_KEY": "ваш_api_key"
      }
    }
  }
}

Через pip (после pip install mcp-server-ozon-seller):

{
  "mcpServers": {
    "ozon-seller": {
      "command": "mcp-server-ozon-seller",
      "env": {
        "OZON_CLIENT_ID": "ваш_client_id",
        "OZON_API_KEY": "ваш_api_key"
      }
    }
  }
}

Подключение через --mcp-config

Подключает сервер только на время одной сессии Claude, не сохраняя в настройки. Токен хранится в отдельном .env.mcp файле, а не в конфиге Claude.

Из JSON-строки:

claude --mcp-config '{"ozon-seller":{"command":"bash","args":["-c","source ~/.env.mcp && exec uvx mcp-server-ozon-seller"]}}'

Из файла:

claude --mcp-config ~/mcp-servers.json

Пример ~/mcp-servers.json:

{
  "ozon-seller": {
    "command": "bash",
    "args": ["-c", "source ~/.env.mcp && exec uvx mcp-server-ozon-seller"]
  }
}

Пример ~/.env.mcp:

OZON_CLIENT_ID=ваш_client_id
OZON_API_KEY=ваш_api_key

Шаг 3. Проверить

Попросите Claude: «покажи мои товары на Ozon» — он вызовет ozon_search, затем ozon_execute.

Примеры (MCP)

  • «покажи мои товары на Ozon» → ozon_search("products list")ozon_execute("product-list")

  • «отмени FBS отправление 12345678-0001-1» → ozon_execute("fbs-posting-cancel", ...)

  • «скачай акт приёмки №42» → ozon_execute_file("fbs-act-pdf", ...)

  • «какие FBS заказы ещё не собраны?» → ozon_execute("fbs-postings-list", ...)

  • «покажи финансовые транзакции за апрель» → ozon_execute("finance-transactions", ...)


CLI-утилита

Установка (CLI)

pip install mcp-server-ozon-seller

Переменные окружения OZON_CLIENT_ID и OZON_API_KEY должны быть установлены:

export OZON_CLIENT_ID=ваш_client_id
export OZON_API_KEY=ваш_api_key

Или через файл:

ozon-seller-cli --env /path/to/.env <command>

Формат файла — KEY=VALUE, по одной переменной на строку, #-комментарии.

Использование (CLI)

Без аргументов запускается MCP-сервер, с командой — CLI. Все команды выводят JSON.

# Версия
ozon-seller-cli --version

# Справка
ozon-seller-cli --help
ozon-seller-cli <command> --help

Примеры команд

# Товары
ozon-seller-cli product-list --limit 10
ozon-seller-cli product-info --offer-id SKU-001
ozon-seller-cli product-stocks-info

# FBS-отправления
ozon-seller-cli fbs-list
ozon-seller-cli fbs-cancel-reasons
ozon-seller-cli fbs-label 12345678-0001-1

# FBO
ozon-seller-cli fbo-list
ozon-seller-cli fbo-supply-list

# Финансы и аналитика
ozon-seller-cli finance-transactions '{"date": {"from": "2026-04-01", "to": "2026-04-25"}}'
ozon-seller-cli analytics-stock

# Возвраты
ozon-seller-cli returns-fbs
ozon-seller-cli returns-fbo

# Другое
ozon-seller-cli warehouses
ozon-seller-cli categories
ozon-seller-cli rating
ozon-seller-cli reviews
ozon-seller-cli brands

Pydantic-модели

Пакет содержит типизированные Pydantic-модели всех объектов API. Модели можно использовать в своих Python-программах для валидации данных и автодополнения в IDE.

Установка (библиотеки)

pip install mcp-server-ozon-seller

Использование в своих программах

from mcp_server_ozon_seller.models import FbsPostingsListParams

# Валидация данных
params = FbsPostingsListParams.model_validate({
    "filter_dict": {"status": "awaiting_packaging"},
    "limit": 50,
})
print(params.model_dump_json())

# Создание объекта
params = FbsPostingsListParams(limit=10)
print(params.limit)  # type-safe доступ к полям

Все модели используют extra="allow" для forward compatibility — неизвестные поля API не вызывают ошибок.

Полный список моделей: models.py


Переменные окружения

Переменная

Обязательная

По умолчанию

Описание

OZON_CLIENT_ID

да

Client-Id из личного кабинета Ozon Seller

OZON_API_KEY

да

Api-Key из личного кабинета Ozon Seller

OZON_TIMEOUT

нет

30

Таймаут HTTP-запросов к API (секунды)

OZON_FILE_TIMEOUT

нет

60

Таймаут скачивания файлов (секунды)

Получить ключи: Ozon Seller → Настройки → API-ключи.

Разработка

pip install -e ".[test]"
ruff check src/ tests/
pytest tests/ -v

Лицензия

MIT

Available Tools

3 tools
ozon_executeA

Execute an Ozon Seller API action by ID.

Use ozon_search first to find the action ID and its parameter schema.

Args: action: action ID from ozon_search results (e.g. "product-list") params_json: JSON object with action parameters matching the schema

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
params_jsonNo{}

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only; description confirms it executes an action, implying mutation, but lacks details on side effects or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with purpose, and uses only four sentences including a structured Args list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers essential usage and parameters; output schema exists so no need for return details, though the description could clarify params_json is a string.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, description fully explains both parameters: action is an ID from ozon_search with example, params_json is a JSON object matching the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes an Ozon Seller API action by ID, and distinguishes it from siblings by advising to use ozon_search first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use ozon_search before executing, providing clear usage context, though it does not mention ozon_execute_file or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ozon_execute_fileC

Execute an Ozon Seller API action that downloads a file.

Args: action: action ID for download actions file_path: local file path to save the downloaded file params_json: JSON object with action parameters

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
file_pathYes
params_jsonNo{}

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations indicate readOnlyHint=false, suggesting the tool may have side effects, yet the description only mentions downloading a file (a read operation). This creates a contradiction. The description does not disclose any behavioral traits such as auth requirements, rate limits, or side effects. Therefore, it is misleading and scores low.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with one sentence for purpose and a bullet-like list for arguments. It is front-loaded and easy to read. Every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the tool's primary function and parameters, but lacks information on usage context, side effects, and differentiation from siblings. With a simple schema and output schema present, the description is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds some meaning to parameters beyond the schema titles: it explains 'action' is an action ID, 'file_path' is a local path to save, and 'params_json' is a JSON object. However, it does not specify what actions are valid or the structure of params_json. Given that schema description coverage is 0%, the description partially compensates but remains vague.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes an Ozon Seller API action that results in downloading a file. The verb 'execute' and resource 'action' are specific. However, it does not differentiate from sibling tool 'ozon_execute' which likely also executes actions but without file download. This lack of distinction prevents perfect clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or conditions. The sibling tools are not referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv0.3.1
    • First observedozon_execute
    • First observedozon_execute_file
    • First observedozon_search

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a distinct purpose: ozon_search discovers actions, ozon_execute executes general API calls, and ozon_execute_file handles file downloads. No overlap in core functionality.

Naming Consistency5/5

All tools follow the consistent pattern of 'ozon_' prefix with a verb_noun structure (search, execute, execute_file). No mixing of conventions.

Tool Count4/5

Only 3 tools, but they are designed as a meta-interface to a large API. The minimal set is appropriate for the gateway pattern, though it may feel thin for complex workflows.

Completeness4/5

The meta-approach covers the entire Ozon Seller API via search and execute, with a dedicated tool for file downloads. Minor gap: no direct tools for common operations, but the discovery mechanism mitigates this.

Maintenance

ActivityInactive
ResponsivenessSyncing

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
    D
    maintenance
    ozon-mcp is a knowledge-rich MCP server that turns the entire Ozon seller toolkit into 15 high-leverage tools. AI agents (Claude, Cursor, Cline, Continue, Goose, Zed, …) can search the API in Russian or English, drill into any of 466 methods with a fully-resolved JSON Schema, and execute calls with built-in safety guards. Subscription- aware, automatic pagination over all 4 cursor styles, retry/ba
    15
    20
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Amazon Selling Partner API and Advertising API, enabling access to orders, inventory, pricing, ads, and reports via natural language.
    1
    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
    -

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/dontsovcmc/mcp-server-ozon-seller'

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