MCP server for Ozon Seller API — products, FBS/FBO, finance, analytics, returns
MCP-сервер, CLI-утилита и библиотека Pydantic-моделей для Ozon Seller API.
Все данные остаются на вашем компьютере — ключи API никуда не передаются.
Сервер использует паттерн 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}
| Домен | Кол-во | Описание |
|---|---|---|
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 | Бренды |
Client-Id и Api-KeyСпособ 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 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"
}
}
}
}
Подключает сервер только на время одной сессии 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
Попросите Claude: «покажи мои товары на Ozon» — он вызовет ozon_search, затем ozon_execute.
ozon_search("products list") → ozon_execute("product-list")ozon_execute("fbs-posting-cancel", ...)ozon_execute_file("fbs-act-pdf", ...)ozon_execute("fbs-postings-list", ...)ozon_execute("finance-transactions", ...)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, по одной переменной на строку, #-комментарии.
Без аргументов запускается 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-модели всех объектов 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
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx mcp-server-ozon-sellerMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-dontsovcmc-ozon-seller": {
"command": "uvx",
"args": [
"mcp-server-ozon-seller"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencemcp-server-ozon-sellerpypiio.github.dontsovcmc/ozon-seller works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.