Skip to main content
Glama
PCDCK
by PCDCK

ozon-mcp

Ozon Seller & Performance API用MCPサーバー。 あらゆるAIエージェントを数分でOzonキャビネットに接続します。

CI Python License MCP

ozon-mcpは、Ozonセラーツールキット全体を15個の強力なツールに変換する、知識豊富なMCPサーバーです。AIエージェント(Claude、Cursor、Cline、Continue、Goose、Zedなど)は、ロシア語または英語でAPIを検索し、完全に解決されたJSONスキーマを使用して466個のメソッドのいずれかを詳細に調査し、組み込みの安全ガードを使用して呼び出しを実行できます。サブスクリプション対応、4つのカーソルスタイルすべてにわたる自動ページネーション、429エラー時の再試行/バックオフ、および13個のすぐに使える分析ワークフローを備えています。

主な事実: 466個のインデックス付きメソッド(Seller 420 + Performance 46)、55個のセクション、5つのサブスクリプション階層をモデル化、38個のページネーション対応エンドポイントを自動走査、43個の破壊的メソッドに二重ゲートを設定、典型的なセラーシナリオ向けの13個の厳選されたワークフロー。


クイックスタート

前提条件

  • Python 3.12 または 3.13

  • uv パッケージマネージャー — 以下でインストール curl -LsSf https://astral.sh/uv/install.sh | sh

  • Ozon Seller API認証情報 (Client-Id + Api-Key) — https://seller.ozon.ru/app/settings/api-keys から取得

インストール

git clone https://github.com/PCDCK/ozon-mcp.git
cd ozon-mcp
uv sync

動作確認

uv run ozon-mcp --help

FastMCPの使用状況行が表示されるはずです。サーバーはMCP stdioプロトコルを使用します。互換性のあるクライアントをポイントしてください(手順は以下を参照)。


Related MCP server: Avito MCP

AIエージェントへの接続

ozon-mcpは標準のMCP stdioトランスポートを使用します。以下のすべての例で同じ15個のツールが公開されています。既に使用しているクライアントを選択してください。

Claude Desktop

以下を編集: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows)。

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/ozon-mcp",
                "run", "ozon-mcp"],
      "env": {
        "OZON_CLIENT_ID": "your-seller-client-id",
        "OZON_API_KEY": "your-seller-api-key",
        "OZON_PERFORMANCE_CLIENT_ID": "your-perf-client-id",
        "OZON_PERFORMANCE_CLIENT_SECRET": "your-perf-secret"
      }
    }
  }
}

Claude Code (CLI)

cd /path/to/ozon-mcp
claude mcp add ozon -- uv run ozon-mcp

または、上記のClaude Desktop設定と同じ形式で ~/.claude/mcp.json に追加します。

Cursor

設定 → MCP → 新しいMCPサーバーを追加、または ~/.cursor/mcp.json を編集:

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/ozon-mcp",
                "run", "ozon-mcp"]
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json を編集:

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/ozon-mcp",
                "run", "ozon-mcp"]
    }
  }
}

Cline (VS Code拡張機能)

Cline → 設定 → MCPサーバー → 追加:

{
  "ozon": {
    "command": "uv",
    "args": ["--directory", "/absolute/path/to/ozon-mcp",
              "run", "ozon-mcp"]
  }
}

Continue.dev

~/.continue/config.json を編集:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "uv",
          "args": ["--directory", "/absolute/path/to/ozon-mcp",
                    "run", "ozon-mcp"]
        }
      }
    ]
  }
}

Goose、Zed、またはその他のMCPクライアント

MCP stdioをサポートするクライアントであれば動作します。汎用設定:

command: uv
args: ["--directory", "/absolute/path/to/ozon-mcp", "run", "ozon-mcp"]
transport: stdio
env:
  OZON_CLIENT_ID: ...
  OZON_API_KEY: ...

公式のMCPクライアントリストは https://modelcontextprotocol.io/clients を参照してください。


使用例

以下のすべての例は、tests/fixtures/responses/ からコピーされた現実的なレスポンスを示しています(識別子は匿名化されていますが、実際の形式です)。

例1 — すべての製品を取得

あなた: operation_id="ProductAPI_GetProductList" を指定して ozon_fetch_all を使用し、すべての製品を取得してください。

エージェントの呼び出し:

{
  "operation_id": "ProductAPI_GetProductList",
  "params": {"filter": {"visibility": "ALL"}},
  "max_items": 10000
}

サーバーは last_id カーソルを自動的に走査し、以下を返します:

{
  "ok": true,
  "items": [
    {"product_id": 99000001, "offer_id": "TEST-SKU-001", "archived": false},
    {"product_id": 99000002, "offer_id": "TEST-SKU-002", "archived": false},
    {"product_id": 99000003, "offer_id": "TEST-SKU-003", "archived": true}
  ],
  "total_fetched": 3,
  "truncated": false,
  "pages_fetched": 1
}

例2 — 在庫切れリスクのある製品を見つける

あなた: キャビネットに対して oos_risk_analysis ワークフローを実行してください。

エージェントはまずワークフローを調査します:

ozon_get_workflow({"name": "oos_risk_analysis"})

→ エージェントに AnalyticsAPI_StocksTurnover を呼び出すよう指示します(1リクエスト/分のレート制限あり — サーバーのエンドポイントごとのキューがこれを処理します)。呼び出し結果:

{
  "items": [
    {"sku": 99000001, "current_stock": 12, "ads": 1.5,
     "idc": 8.0, "turnover_grade": "DEFICIT",
     "turnover_grade_cluster": "DEFICIT_GROWING"},
    {"sku": 99000002, "current_stock": 25, "ads": 0.8,
     "idc": 31.25, "turnover_grade": "OPTIMAL",
     "turnover_grade_cluster": "OPTIMAL_FALLING"},
    {"sku": 99000003, "current_stock": 0, "ads": 0.0,
     "idc": 0.0, "turnover_grade": "NO_SALES",
     "turnover_grade_cluster": "NO_SALES"}
  ]
}

ワークフローの interpret フィールドは、idc < 14 または turnover_grade ∈ {DEFICIT, NO_SALES} であるSKUにフラグを立て、idc asc でソートして表示するようエージェントに指示します。

例3 — キャビネット全体の健全性チェック

あなた: cabinet_health_check ワークフローを使用して、Ozonキャビネットの健全性を確認してください。

ワークフローは、RatingAPI_RatingSummaryV1SellerAPI_SellerInfoAverageDeliveryTimeSummary の3つのエンドポイントを並行して読み取るようエージェントに指示します。最初の呼び出し結果:

{
  "groups": [
    {
      "group_name": "Выполнение заказов",
      "items": [
        {"rating": "rating_on_time", "name": "Процент заказов вовремя",
         "current_value": 97.5, "status": "OK", "value_type": "PERCENT"},
        {"rating": "rating_review_avg_score", "name": "Средняя оценка",
         "current_value": 4.7, "status": "OK", "value_type": "RATING"}
      ]
    },
    {
      "group_name": "Качество сервиса",
      "items": [
        {"rating": "rating_price_index", "name": "Индекс цен",
         "current_value": 1.01, "status": "OK", "value_type": "INDEX"}
      ]
    }
  ],
  "premium_scores": [
    {"rating": "rating_on_time", "value": 97.5,
     "penalty_score_per_day": 0, "scope": "premium_plus"}
  ]
}

例4 — 製品価格の分析

あなた: 赤い価格インデックスを持つ製品はどれですか?

エージェントは pricing_analysis ワークフローを実行し、各アイテムの price_indexes.color_index フィールドを調査します:

{
  "product_id": 99000001, "offer_id": "TEST-SKU-001",
  "price": {"price": "399.0000", "marketing_seller_price": "399.0000",
             "min_price": "299.0000"},
  "price_indexes": {
    "color_index": "WITHOUT_INDEX",
    "ozon_index_data": {"minimal_price": "395.0000",
                          "price_index_value": 1.01}
  },
  "commissions": {"sales_percent_fbo": 0.13, "sales_percent_fbs": 0.13}
}

ワークフローの common_mistakes リストは、基本の price だけでなく、marketing_seller_price(実際の購入者向け価格)と比較するようエージェントに注意を促します。

例5 — コンテンツ監査

あなた: コンテンツ評価が低い製品を見つけて、改善点を教えてください。

エージェントは content_audit を実行し、SKUごとの評価とスコアを向上させる属性のリストを取得します:

{
  "products": [
    {
      "sku": 99000001, "rating": 85,
      "groups": [
        {"key": "media", "rating": 100},
        {"key": "characteristics", "rating": 75,
         "improve_attributes": [
           {"id": 4191, "name": "Цвет"},
           {"id": 8292, "name": "Материал"}
         ],
         "improve_at_least": 4}
      ]
    }
  ]
}

ワークフローは、rating+10 向上させると検索順位が測定可能に改善されるため、それらの2つの属性を埋める価値があることをエージェントに伝えます。


利用可能なツール (15)

ツール

説明

ozon_call_method

安全ガードとサブスクリプションガード付きで任意のOzon APIメソッドを実行

ozon_fetch_all

自動ページネーション — 最初のページだけでなくすべてのページを取得

ozon_describe_method

メソッドの完全なドキュメント: スキーマ、例、レート制限、癖

ozon_search_methods

466個のメソッドに対するBM25検索(ロシア語または英語、ステミング対応)

ozon_list_sections

セクションごとにAPIを閲覧

ozon_get_section

1つのセクション内のすべてのメソッド

ozon_list_workflows

既製の分析ワークフローをリストアップ(カテゴリでフィルタリング可能)

ozon_get_workflow

1つのワークフローの完全なステップバイステップ計画

ozon_get_related_methods

相互にうまく機能するメソッド(自動抽出されたグラフ)

ozon_get_examples

メソッドの厳選されたリクエスト/レスポンス例

ozon_get_rate_limits

メソッドごと、セクションごと、またはすべて

ozon_get_subscription_status

現在のキャビネットのサブスクリプション階層を読み取る

ozon_list_methods_for_subscription

特定の階層でロック解除される機能

ozon_get_swagger_meta

バンドルされたAPI仕様が最新か確認

ozon_get_error_catalog

Ozonのエラーコードを検索


既製のワークフロー (13)

ワークフローは厳選されたステップバイステップのレシピです。ozon_get_workflow("name") を使用して、interpretwhen_to_usecommon_mistakes、および同期型ワークフローに推奨されるDBスキーマを含む完全な計画を取得します。

ワークフロー

カテゴリ

解決内容

oos_risk_analysis

分析

在庫切れ間近の製品を見つける

cabinet_health_check

健全性

すべてのセラー評価指標を一度にチェック

content_audit

コンテンツ

コンテンツ評価の低いカードと改善可能な属性を見つける

pricing_analysis

価格設定

競争力のない価格の製品を見つける

warehouse_stock_distribution

倉庫

FBO向けの倉庫別在庫内訳

sync_products_catalog

カタログ

製品カタログの完全スナップショット

sync_orders_fbo

注文

FBO注文の増分同期

sync_orders_fbs

注文

FBS / rFBS注文の増分同期

sync_finance_transactions

財務

ユニットエコノミクス向けの財務取引

sync_analytics_daily

分析

日次収益 / 注文の時系列データ

sync_advertising_campaigns

広告

Performance API広告カタログ

sync_warehouse_stocks

倉庫

FBS倉庫在庫

sync_returns_rfbs

返品

rFBS返品同期


APIカバレッジ

API

メソッド

セクション

Ozon Seller API

420

49

Ozon Performance API

46

6

合計

466

55

モデル化されたサブスクリプション階層(低 → 高): LITE → STANDARD → PREMIUM → PREMIUM_PLUS → PREMIUM_PRO


主な機能

サブスクリプション対応

サーバーはどのメソッドがPremium階層で制限されているかを認識しており、マシンから呼び出しが出る前に拒否するため、APIクォータを節約できます:

{
  "error": "subscription_gate",
  "error_type": "subscription_gate",
  "code": 7,
  "message": "Endpoint requires PREMIUM_PRO, cabinet has PREMIUM_PLUS",
  "operation_id": "ProductPricesDetails",
  "required_tier": "PREMIUM_PRO",
  "cabinet_tier": "PREMIUM_PLUS",
  "retryable": false,
  "http_call_skipped": true
}

レート制限管理

  • 429エラー時の指数バックオフによる自動再試行。

  • Retry-After を尊重(デルタ秒およびRFC 7231 HTTP日付の両方)。

  • 低速メソッド用のエンドポイントごとのセマフォ(例: /v1/analytics/turnover/stocks はOzon側で1リクエスト/分に厳しく制限されています — サーバーが並行呼び出しを自動的にキューイングします)。

自動ページネーション

ozon_fetch_all は、Ozonが使用する4つのページネーションパターン(offset/limitcursorlast_idpage_number)すべてを処理します。また、サーバーが同じカーソルを連続して2回返して無限ループに陥るという稀なケースも検出し、ループを中断します。

ozon_fetch_all(
  operation_id="ProductAPI_GetProductList",
  params={"filter": {"visibility": "ALL"}},
  max_items=10_000,
)
# → {"items": [...all products...], "total_fetched": 847,
#    "truncated": false, "pages_fetched": 1}

統一されたエラーエンベロープ

失敗する可能性のあるすべてのツールは同じ形式を返すため、エージェントやダウンストリームのコードで簡単に分岐処理が可能です:

{
  "error": "rate_limit_exceeded",
  "error_type": "rate_limit | subscription_gate | not_found | invalid_params | server_error | timeout | auth | forbidden | conflict | ...",
  "message": "Human-readable explanation",
  "code": 429,
  "operation_id": "AnalyticsAPI_StocksTurnover",
  "endpoint": "/v1/analytics/turnover/stocks",
  "retryable": true,
  "retry_after_seconds": 60
}

カタログに組み込まれた安全分類

すべてのメソッドは safety フィールド(readwrite、または destructive)を持っています。writeconfirm_write=True を必要とし、destructiveconfirm_write=Truei_understand_this_modifies_data=True の両方を必要とします。スキーマ抽出器からのヒューリスティックは、quirks.yaml 内の43個の厳選された safety_warning エントリによって強化されており、エージェントがデータを変更する前に常に明確な警告を確認できるようになっています。


API仕様を最新に保つ

Ozonは定期的にswaggerを更新します。同期するには:

cd parser/                               # the parser repo / drop-zone
python parse_swagger.py                  # downloads + sanitises both APIs
cp seller_swagger.json ../src/ozon_mcp/data/
cp perf_swagger.json   ../src/ozon_mcp/data/
cp swagger_meta.json   ../src/ozon_mcp/data/

ozon_get_swagger_meta を実行して、バンドルされたスナップショットが最新であることを確認してください(CIもスナップショットが14日以上古い場合にビルドを失敗させます)。


開発

git clone https://github.com/PCDCK/ozon-mcp.git
cd ozon-mcp
uv sync --extra dev

# Tests (≈25s, 274 currently)
uv run pytest tests/ --ignore=tests/live

# Code quality
uv run ruff check src tests
uv run mypy src/ozon_mcp

# Coverage
uv run pytest tests/ --ignore=tests/live --cov=src/ozon_mcp \
    --cov-report=term-missing

知識(ワークフロー、例、癖、サブスクリプションのオーバーライド)を追加する方法については、CONTRIBUTING.md を参照してください。


ライセンス

MIT

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    MCP server bringing 100+ x402-paid APIs to AI agents (Claude, Cursor, MCP-aware clients). Auto-discovers tools from CDP Bazaar; handles USDC micropayments on Base.
    100
    52
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Universal MCP server for the Avito API (Russia's largest classifieds marketplace), built for autonomous AI agents to operate an account hands-free — 145 tools across 18 domains (listings, messenger, orders, delivery, promotion, autoload, reviews, analytics). Safe-by-default: dry-run, idempotency, structured errors, confirmation flow.
    100
    152
    12
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that turns Wildberries marketplace into a toolkit for LLM agents, enabling product search, detailed card inspection, price history, reviews, and cross-product comparison.
  • 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
    43
    6
    Inno Setup

View all related MCP servers

Related MCP Connectors

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.

  • Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.

View all MCP Connectors

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/PCDCK/ozon-mcp'

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