Skip to main content
Glama

OZON MCP

Ozon セラー向けのオープンソース MCP サーバー。42 セクションの中国語運営ナレッジベースと 466 の API メソッドを内蔵し、AI エージェントが運用ノウハウの検索、Seller/Performance API の呼び出し、実際のビジネス操作の実行を可能にします。

Python License MCP Docker CI


目次



Related MCP server: wildberries-mcp

プロジェクト概要

OZON MCP は、Model Context Protocol に基づくナレッジ型 MCP サーバーです。Ozon Seller API と Performance API の完全なインターフェースドキュメント、パラメータスキーマ、レート制限ルール、ビジネスワークフローを標準化された MCP ツールとしてカプセル化し、Claude、Cursor、Codex などの AI エージェントが Ozon API を直接検索・理解・呼び出しできるようにします。

何を解決するのか

Ozon オープンプラットフォームには 2 セットの API(Seller + Performance)があり、55 のビジネスモジュールに分散する 460 以上のエンドポイントがあります。ドキュメントの手動参照、リクエストの組み立て、ページネーションやレート制限への対応には非常に時間がかかります。

OZON MCP は AI エージェントをあなたの Ozon 運用アシスタントに変えます:

  • エージェントは中国語またはロシア語で API メソッドを検索し、必要なエンドポイントを見つけられます

  • 各メソッドは完全にパースされた JSON Schema(リクエストパラメータ、レスポンス構造、レート制限ルール、既知の落とし穴を含む)を返します

  • 書き込み操作には複数層のセーフティガードがあり、誤操作を防止します

  • 大量データの一括取得には自動ページネーションをサポート

  • 13 の厳選ビジネスワークフローを内蔵し、在切れ分析、価格診断、ストアヘルスチェックなどのシナリオをカバー

こんな方におすすめ

  • 日常の運用分析に AI を活用したい Ozon セラー

  • エージェントに Ozon 機能を統合したい越境 EC ツール開発者

  • MCP プロトコルに興味があり、実際の導入事例を知りたい開発者


コア機能

API 検出とナビゲーション

ツール

機能

ozon_list_sections

全 API モジュール(Seller + Performance)を一覧表示。各モジュールのメソッド数を含む

ozon_search_methods

全文検索(BM25 ソート)。中国語・ロシア語対応、モジュール/API/セキュリティレベルでフィルタ可能

ozon_describe_method

単一メソッドの完全なドキュメントを取得:JSON Schema、レート制限、既知の問題、例、関連メソッド

ozon_get_section

指定したモジュール配下の全メソッドを一覧表示

ビジネスワークフロー

13 の厳選ワークフローで、以下のビジネスカテゴリをカバー:

カテゴリ

ワークフロー例

注文

注文同期、出荷管理

在庫

在切れリスク分析、在庫回転診断

価格

価格指数分析、競合他社の価格比較

分析

売上レポート、財務データ集計

広告

広告キャンペーンデータ、プロモーション効果分析

商品

商品情報の一括照会、カテゴリツリーの走査

各ワークフローには、操作手順シーケンス、ページネーション/並行処理のガイダンス、推奨データベーススキーマ、既知の落とし穴、結果の解釈手順が含まれています。

安全な実行

ツール

機能

ozon_call_method

単一の API 呼び出しを 3 層のガード(セキュリティレベル / サブスクリプション権限 / スキーマ検証)付きで実行

ozon_fetch_all

自動ページネーション走査。4 種類のページネーションモード(offset / cursor / last_id / page_number)に対応

リファレンス情報

ツール

機能

ozon_get_rate_limits

メソッド/モジュール/グローバルのレート制限ルールを照会

ozon_get_error_catalog

Ozon API エラーコードと解決策を照会

ozon_get_examples

メソッドの実際のリクエスト例を取得

ozon_get_swagger_meta

内蔵 API ドキュメントのバージョンと更新日時を表示

ozon_get_related_methods

指定したメソッドに関連する他のメソッドを検索

サブスクリプション権限

ツール

機能

ozon_list_methods_for_subscription

指定したサブスクリプションレベルでのみ利用可能なメソッドを一覧表示

ozon_get_subscription_status

現在のアカウントのサブスクリプションレベルを照会

注意:現在のバージョンはナレッジサーバーです。API 資格情報を設定しなくても、すべての検出・検索・リファレンス・ワークフローツールが正常に動作します。実際の API 呼び出しを実行する場合にのみ、資格情報の設定が必要です。

API メソッド全体像

プロジェクトには 466 の Ozon API メソッドの完全な中国語カタログ(methods_catalog.md)が組み込まれており、Ozon セラービジネスの全領域をカバーしています:

ビジネス領域

対象内容

商品管理

商品のアップロードと更新、カテゴリ属性、経済的商品、デジタル商品、商品価格と在庫

注文と物流

注文照会とキャンセル、FBO/FBS/rFBS 配送、荷物追跡、返品管理、配送エリア

倉庫と供給

FBS 倉庫管理、FBO 供給申請、FBP 直送/受け渡しポイント/集荷

財務とレポート

財務レポート(売上精算/手数料/返金)、分析レポート(トラフィック/検索/コンバージョン)、セラー評価

マーケティングと価格

価格戦略、Ozon プラットフォームキャンペーン、セラー主催キャンペーン、プロモーションと販促

カスタマーサービス

バイヤーチャット、レビュー管理、Q&A 管理、プッシュ通知

アカウントと認証

API キー管理、ブランド認証、品質証明書、セラー管理画面情報

エージェントは中国語で検索(例:「注文リストを照会」、「在庫を一括更新」)でき、カタログカード形式の中国語説明と組み合わせて、正しい API をすばやく見つけて呼び出すことができます。各メソッドには HTTP メソッド、API パス、セキュリティレベル、サブスクリプション要件が記載されているため、エージェントは書き込み操作の確認や上位サブスクリプション権限が必要かどうかを直接判断できます。


中国語 Ozon 運用ナレッジベース

プロジェクトには、42 レッスンの Ozon 越境 EC コースに基づく完全な中国語 Ozon 運用ナレッジベースが組み込まれており、610 の検索可能なナレッジチャンクが含まれています。エージェントは中国語の自然言語で検索し、運用ノウハウ、操作手順、注意点をすばやく見つけることができます。

ナレッジベース概要

項目

内容

コース数

42 レッスン

ナレッジチャンク

610 個

言語

簡体字中国語

ソースタイプ

コース運用ノウハウ

検索エンジン

ローカル BM25

中国語検索

バイグラム/トライグラム分かち書き + ビジネス用語保護

データベース

不要

Embedding

不要

外部サービス

不要

対象トピック

ナレッジベースは、Ozon セラーの出店からアフターサービスまでの全プロセスをカバーしています:

  • プラットフォームのビジネスモデル(横流し出品、厳選出品、大量出品、ドロップシッピング)

  • FBS、FBO、FBP、rFBS の 4 つのフルフィルメントモデル

  • ストア登録と国際送料の計算

  • 倉庫設定と物流構成

  • 商品リサーチ方法とリサーチプールの構築

  • 商品の重量・サイズ検証

  • セラー管理画面モジュールの詳細

  • 商品カードの最適化とメイン画像の作成

  • 価格戦略と利益率の計算

  • プロモーションキャンペーンと広告宣伝

  • 注文処理と出荷フロー

  • 返品処理と異常注文

  • 運用リスクとアカウント停止の防止

運用ナレッジ MCP ツール

ツール

用途

主要パラメータ

ozon_search_operations_knowledge

ナレッジベースを検索

query(中国語キーワード)、limit、module、lesson_id

ozon_get_operations_knowledge

完全なナレッジチャンクを読み込む

chunk_id(検索結果から)

ozon_list_operations_topics

コース目次を閲覧

query、module、limit、offset

推奨される呼び出し順序:まず検索 → chunk_id を選択 → 完全なエビデンスを読み込む → 回答を構成。

エージェント呼び出しフロー

graph TD
    A[客户提问] --> B{运营知识问题?}
    B -->|是| C[ozon_search_operations_knowledge]
    B -->|API数据问题| F[ozon_search_methods]
    C --> D[选择1-3个chunk_id]
    D --> E[ozon_get_operations_knowledge]
    E --> G{需要当前数据?}
    F --> G
    G -->|是| H[ozon_call_method / ozon_fetch_all]
    G -->|否| I[组织回答]
    H --> I
    I --> J[标注来源与时效风险]

呼び出し例

「初心者はまず横流し出品と厳選出品のどちらをやるべき?」

エージェントはまず ozon_search_operations_knowledge({"query": "初心者 横流し 厳選"}) を呼び出し、関連チャンクを取得した後、ozon_get_operations_knowledge を呼び出して完全なエビデンスを読み込み、コース内容に基づいて両モデルの長所・短所と適用条件を回答します。

「フォワーダーとは何か、rFBS の完全な出荷フローは?」

エージェントは "フォワーダー rFBS 出荷フロー" を検索し、レッスン 01 の関連ナレッジチャンクを取得した後、コース内容と組み合わせてフォワーダーの概念と、注文から配達完了までの rFBS の完全な流れを説明します。

「厳選出品で差別化するにはどうすればいい?」

エージェントは "厳選 差別化" を検索し、レッスン 02 から厳選出品の差別化戦略の完全なエビデンスを取得し、商品カード最適化、メイン画像の差別化、価格戦略などの観点から回答します。

「Ozon の倉庫と物流はどう設定すればいい?」

エージェントは "倉庫 物流 設定" を検索し、レッスン 06 から倉庫設定の詳細な手順と注意点を取得します。

「商品を出品する前に重量をどう確認すればいい?」

エージェントは "出品前 重量確認" を検索し、レッスン 07 から重量検証の操作方法とよくある落とし穴を取得します。

「商品の露出がない場合、最初に何を確認すべき?」

エージェントは "商品 露出なし" を検索し、商品カード、価格、検索ランキングなどの関連チャンクから診断の考え方を取得します。

回答の境界

重要な注意:

  • コースの知識は運用ノウハウのまとめであり、Ozon の現在の公式ルールと同一ではありません

  • 手数料、レート、物流リードタイム、販売禁止商品、ペナルティ、広告、返品ポリシーは随時変更される可能性があります

  • verification_required=true のチャンクは、お客様に現在の公式情報の再確認を促す必要があります

  • お客様の実際のストア、注文、在庫、商品、財務、広告データに関わる場合は、必ず実際の Ozon API を呼び出す必要があります

  • ナレッジベースでカバーされていない内容は、推測で回答してはいけません

ナレッジベースの更新

今後、運用ナレッジを更新する際は、以下のファイルを置き換えます:

  • src/ozon_mcp/operations_knowledge/data/manifest.yaml

  • src/ozon_mcp/operations_knowledge/data/chunks.jsonl

  • src/ozon_mcp/operations_knowledge/data/topics.json

  • src/ozon_mcp/operations_knowledge/data/ozon_operations_knowledge.md

その後、検証を実行します:

uv run python scripts/validate_operations_knowledge.py
uv run pytest

ユースケース

シナリオ 1:未出荷注文の照会

「未出荷の注文をすべて確認して」

エージェントはまず ozon_search_methods で「order list」または「注文リスト」を検索して OrderAPI_GetOrderList を見つけ、ozon_describe_method でパラメータ構造を確認し、最後に ozon_fetch_all で全注文をページネーションで取得します。

シナリオ 2:在切れリスクチェック

「在切れリスク分析ワークフローを実行して、在庫切れになりそうな SKU を確認して」

エージェントは ozon_get_workflow({"name": "oos_risk_analysis"}) を実行し、手順に従って AnalyticsAPI_StocksTurnover を呼び出し、ワークフローに組み込まれた解釈ルールに基づいてリスク SKU をフラグ付けします。

シナリオ 3:ストアのヘルスチェック

「私のストアの状態を総合的にチェックして」

エージェントは ozon_get_workflow({"name": "cabinet_health_check"}) を実行し、評価、ストア情報、配送リードタイムの 3 つの API を並行して呼び出し、各指標とステータスを集約します。

シナリオ 4:商品情報の一括エクスポート

「販売中商品の基本情報をすべて取得して」

エージェントは ozon_fetch_all を使用して ProductAPI_GetProductList を呼び出し、last_id ページネーションを自動的に走査して、完全な商品リストを返します。

シナリオ 5:API の使い方がわからない場合

「Ozon に倉庫在庫を照会する API はある?パラメータはどう入力するの?」

エージェントは ozon_search_methods({"query": "warehouse stock"}) で該当メソッドを見つけ、ozon_describe_method で完全なパラメータスキーマと呼び出し例を取得し、リクエストパラメータの組み立てを支援します。


システムアーキテクチャ

graph TD
    A[MCP 客户端<br/>Claude / Cursor / Codex / Windsurf] 
    B[OZON MCP Server<br/>FastMCP stdio]
    C[API 知识层<br/>Swagger + YAML]
    K[运营知识层<br/>BM25 + 中文分词]
    D[Seller API Client<br/>api-seller.ozon.ru]
    E[Performance API Client<br/>api-performance.ozon.ru]
    F[Ozon Seller API]
    G[Ozon Performance API]

    A -->|JSON-RPC over stdio| B
    B --> C
    B --> K
    B --> D
    B --> E
    D -->|Client-Id + Api-Key| F
    E -->|OAuth2 Bearer| G
    
    subgraph 安全守卫
        H[安全等级检查<br/>read/write/destructive]
        I[订阅权限校验]
        J[Schema 验证]
    end
    
    B --> H --> I --> J

コアモジュールの説明:

  • ナレッジレイヤー:起動時に内蔵の Swagger ファイルと YAML ナレッジベースから 466 メソッドの完全な定義をロード

  • 検索インデックス:BM25 ベースの全文検索エンジン。中国語・ロシア語の分かち書きとフィールド重み付けに対応

  • メソッドグラフ:ドキュメントリンクとワークフローに基づいて自動構築されるメソッドの関係ネットワーク

  • レート制限管理:API 単位のレート制限。自動キューイングとバックオフリトライ

  • セキュリティガード:3 層の検証——セキュリティレベル(読み取り専用/書き込み/破壊的)→ サブスクリプション権限 → JSON Schema 検証


プロジェクト構成

ozon-mcp/
├── src/ozon_mcp/               # 核心代码
│   ├── __init__.py              # 版本号
│   ├── __main__.py              # CLI 入口,MCP stdio 启动
│   ├── config.py                # 环境变量配置(SecretStr 保护凭据)
│   ├── server.py                # FastMCP 服务器工厂
│   ├── state.py                 # 进程内缓存(订阅等级 TTL)
│   ├── errors.py                # 统一错误模型
│   ├── data/                    # Swagger API 文档
│   │   ├── seller_swagger.json  #   Seller API (420 方法)
│   │   ├── perf_swagger.json    #   Performance API (46 方法)
│   │   └── swagger_meta.json    #   文档版本元数据
│   ├── knowledge/               # 精选知识库(YAML)
│   │   └── ...                   #   工作流、限流、错误码等
│   ├── operations_knowledge/     # 中文运营知识库
│   │   ├── models.py             #   数据模型(Pydantic)
│   │   ├── loader.py             #   加载与完整性校验
│   │   ├── tokenizer.py          #   中文分词器
│   │   ├── search.py             #   BM25 检索引擎
│   │   └── data/                 #   知识库数据
│   │       ├── manifest.yaml     #     元数据
│   │       ├── chunks.jsonl      #     610 个知识片段
│   │       ├── topics.json       #     42 个课程主题
│   │       └── ozon_operations_knowledge.md  # 原始知识文档
│   ├── schema/                  # Schema 引擎
│   │   ├── extractor.py         #   OpenAPI → JSON Schema 提取
│   │   ├── search.py            #   BM25 全文搜索
│   │   ├── graph.py             #   方法关系图 (networkx)
│   │   ├── catalog.py           #   方法目录
│   │   └── resolver.py          #   $ref 内联解析
│   ├── tools/                   # MCP 工具定义(15 个)
│   │   ├── discovery.py         #   发现类工具 (4)
│   │   ├── execution.py         #   执行类工具 (2)
│   │   ├── reference.py         #   参考类工具 (4)
│   │   ├── workflow.py          #   工作流工具 (2)
│   │   ├── subscription.py      #   订阅工具 (2)
│   │   └── graph.py             #   图谱工具 (1)
│   └── transport/               # HTTP 传输层
│       ├── seller.py            #   Seller API 客户端
│       ├── performance.py       #   Performance API 客户端
│       ├── oauth.py             #   OAuth2 Token 管理
│       ├── ratelimit.py         #   速率限制
│       └── base.py              #   基类(重试、错误映射)
├── tests/                       # 测试
│   ├── unit/                    #   单元测试 (25 文件)
│   ├── integration/             #   集成测试 (4 文件)
│   ├── golden/                  #   回归测试 (3 文件)
│   └── live/                    #   真实 API 烟雾测试 (需凭据)
├── scripts/                     # 辅助脚本
│   ├── export_methods.py        #   导出方法目录
│   └── generate_subscription_overrides.py  # 生成订阅覆盖配置
├── Dockerfile                   # 多阶段 Docker 构建
├── pyproject.toml               # 项目配置
├── uv.lock                      # 依赖锁定
└── glama.json                   # Glama MCP 注册

必要環境

項目

要件

OS

Windows / macOS / Linux

Python

3.12 または 3.13

パッケージマネージャー

uv

Docker(オプション)

コンテナ化デプロイ用

Ozon アカウント

API 呼び出しの実行時のみ必要。ナレッジ検索は資格情報不要

Ozon API 権限

  • Seller API:Ozon 管理画面で Client-Id と Api-Key を生成する必要があります

  • Performance API:Client ID と Client Secret の申請が必要です


クイックスタート

方法 1:uv を使用(推奨)

# 克隆仓库
git clone https://github.com/yifan4243-sketch/OZON_MCP.git
cd OZON_MCP

# 安装依赖
uv sync

# 验证启动
uv run ozon-mcp --help

ヘルプ情報が表示されればインストール成功です。この時点で MCP クライアントに接続できます(MCP クライアント設定 を参照)。

方法 2:Docker を使用

# 构建镜像
docker build -t ozon-mcp:local .

# 启动(stdio 模式,需要凭据)
docker run -i \
  -e OZON_CLIENT_ID=your_client_id \
  -e OZON_API_KEY=your_api_key \
  ozon-mcp:local

Docker イメージには資格情報が含まれていません。-e または --env-file で渡す必要があります。


環境変数

変数名

必須

用途

例

OZON_CLIENT_ID

Seller API 呼び出し時に必須

Seller API Client-Id

your_client_id

OZON_API_KEY

Seller API 呼び出し時に必須

Seller API Api-Key

your_api_key

OZON_PERFORMANCE_CLIENT_ID

Performance API 呼び出し時に必須

Performance OAuth Client ID

your_perf_client_id

OZON_PERFORMANCE_CLIENT_SECRET

Performance API 呼び出し時に必須

Performance OAuth Client Secret

your_perf_secret

OZON_LOG_LEVEL

いいえ

ログレベル(デフォルト INFO)

DEBUG

すべての資格情報は pydantic.SecretStr で保護されており、誤って印刷されたりログに記録されたりすることはありません。

設定例は .env.example を参照してください。


MCP クライアント設定

OZON MCP は MCP stdio プロトコルを使用します。以下の設定はさまざまな MCP クライアントに適用されます。

Claude Desktop

設定ファイルを編集します:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "D:/path/to/ozon-mcp", "run", "ozon-mcp"],
      "env": {
        "OZON_CLIENT_ID": "your_client_id",
        "OZON_API_KEY": "your_api_key"
      }
    }
  }
}

Windows のパスはスラッシュまたは二重バックスラッシュを使用します。例:D:/ozon-mcp または D:\\ozon-mcp。

Claude Code (CLI)

# 在项目目录下执行
claude mcp add ozon -- uv run ozon-mcp

または ~/.claude/mcp.json を手動で編集:

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/path/to/ozon-mcp", "run", "ozon-mcp"],
      "env": {
        "OZON_CLIENT_ID": "your_client_id",
        "OZON_API_KEY": "your_api_key"
      }
    }
  }
}

Cursor

Settings → MCP → Add new MCP Server、または ~/.cursor/mcp.json を編集:

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/path/to/ozon-mcp", "run", "ozon-mcp"],
      "env": {
        "OZON_CLIENT_ID": "your_client_id",
        "OZON_API_KEY": "your_api_key"
      }
    }
  }
}

Codex

~/.codex/mcp.json を編集:

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/path/to/ozon-mcp", "run", "ozon-mcp"],
      "env": {
        "OZON_CLIENT_ID": "your_client_id",
        "OZON_API_KEY": "your_api_key"
      }
    }
  }
}

Windsurf

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

{
  "mcpServers": {
    "ozon": {
      "command": "uv",
      "args": ["--directory", "/path/to/ozon-mcp", "run", "ozon-mcp"],
      "env": {
        "OZON_CLIENT_ID": "your_client_id",
        "OZON_API_KEY": "your_api_key"
      }
    }
  }
}

その他の MCP クライアント

MCP stdio プロトコルをサポートするクライアントはすべて接続できます。汎用設定:

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

その他のクライアントについては MCP 公式クライアントリスト を参照してください。


呼び出し例

以下の例は、AI エージェントを介した OZON MCP の自然言語インタラクションの使用方法を示しています。

照会系

あなた:Ozon Seller API のモジュールを一覧表示して

エージェントは ozon_list_sections を呼び出し、55 のモジュールとそのメソッド数を返します。

あなた:「注文」に関連するすべての API を検索して

エージェントは ozon_search_methods({"query": "注文"}) を呼び出し、一致した結果とスコアを返します。

あなた:OrderAPI_GetOrderList の完全なドキュメントを表示して

エージェントは ozon_describe_method({"operation_id": "OrderAPI_GetOrderList"}) を呼び出し、完全な JSON Schema、レート制限ルール、呼び出し例を返します。

分析系

あなた:私のストアの全体的な健全性を分析して

エージェントは ozon_get_workflow({"name": "cabinet_health_check"}) を実行してワークフローの手順を取得し、手順に従って評価、ストア情報などの API を呼び出し、分析結果を集約します。

あなた:在切れリスクのある商品はどれ?

エージェントは ozon_get_workflow({"name": "oos_risk_analysis"}) を実行し、在庫回転 API を呼び出し、ワークフローに組み込まれた解釈ルールに基づいて DEFICIT および NO_SALES ステータスの SKU をフラグ付けします。

一括処理系

あなた:販売中商品をすべて取得して

エージェントは ozon_fetch_all({"operation_id": "ProductAPI_GetProductList", "params": {"filter": {"visibility": "ALL"}}}) を呼び出し、自動ページネーションで完全な商品リストを返します。

例外調査系

あなた:商品リスト API の呼び出しでエラーになった。エラーコード 429

エージェントは ozon_get_error_catalog({"code": "429"}) を呼び出してレート制限エラーの説明と解決策を確認し、同時に ozon_get_rate_limits({"operation_id": "ProductAPI_GetProductList"}) でその API の具体的なレート制限ルールを確認します。


開発とテスト

開発用依存関係のインストール

uv sync --dev

テストの実行

# 运行所有测试(跳过需要真实 API 凭据的测试)
uv run pytest -m "not live"

# 包含覆盖率报告
uv run pytest -m "not live" --cov=src/ozon_mcp --cov-report=term

コードチェック

# Ruff 格式检查
uv run ruff check src/ tests/

# MyPy 类型检查
uv run mypy src/ozon_mcp/

ローカルサーバーの起動

# 仅知识模式(无需凭据)
uv run ozon-mcp

# 带 Seller API 凭据
OZON_CLIENT_ID=xxx OZON_API_KEY=xxx uv run ozon-mcp

Docker ビルド

docker build -t ozon-mcp:local .

セキュリティについて

  • .env ファイルをコミットしないでください。すべての資格情報は環境変数を介して渡され、.env は .gitignore に追加されています

  • ログに完全な資格情報を記録しないでください。すべての資格情報フィールドは SecretStr で保護されており、repr() や print() で実際の値が漏洩することはありません

  • 最小権限を使用してください。MCP サーバー専用の Ozon API キーを作成し、必要な権限のみを付与することをお勧めします

  • キーを定期的にローテーションしてください。Ozon 管理画面で API キーを定期的に更新することをお勧めします

  • 書き込み操作は人間の確認が必要です。すべての write および destructive 操作には追加の確認パラメータが必要です

  • 信頼できる環境で実行してください。ローカルまたは信頼できるサーバーでの実行を推奨し、パブリックネットワークに公開しないでください

  • プラットフォームのルールを確認してください。Ozon API のレート制限ルール、権限要件、料金ポリシーは変更される可能性があります


よくある質問

MCP クライアントがサービスを見つけられない

uv がインストールされ、PATH に含まれていることを確認してください:

uv --version

uv コマンドが見つからない

uv をインストール:

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

環境変数が反映されない

変数名が OZON_ プレフィックスで始まり、正しく設定されていることを確認してください。以下のコマンドでテストできます:

OZON_LOG_LEVEL=DEBUG uv run ozon-mcp --help

Ozon API が 401 または 403 を返す

OZON_CLIENT_ID と OZON_API_KEY が正しいか、キーが期限切れでないかを確認してください。

リクエスト頻度制限(429)

サーバーには自動リトライとバックオフメカニズムが組み込まれています。429 が続く場合は、同時リクエスト頻度を下げてください。

Docker の起動に失敗する

Docker がインストールされていること、ビルドコマンドがプロジェクトルートで実行されていることを確認してください:

docker build -t ozon-mcp:local .
docker run -i -e OZON_CLIENT_ID=xxx -e OZON_API_KEY=xxx ozon-mcp:local

Windows のパス問題

MCP クライアント設定のパスはスラッシュまたは二重バックスラッシュを使用します:

"args": ["--directory", "D:/path/to/ozon-mcp", "run", "ozon-mcp"]

複数ストアの設定方法

現在のバージョンでは、1 つの MCP サーバープロセスが 1 つの Ozon アカウントに対応します。複数ストアのシナリオでは、複数のサーバーインスタンスを起動し、それぞれに異なる環境変数を設定する必要があります。

運用ナレッジベースが利用不可(knowledge_unavailable)

起動時に運用ナレッジベースの読み込みに失敗した場合(データファイルの破損や欠落など)、3つの運用ナレッジツールは引き続き存在しますが、呼び出し時に統一されたエラーが返されます:

{
  "error": "knowledge_unavailable",
  "error_type": "knowledge_unavailable",
  "message": "中文Ozon运营知识库当前不可用,请检查知识库资源是否完整并重新启动MCP Server。",
  "component": "operations_knowledge",
  "recovery_hint": "检查 src/ozon_mcp/operations_knowledge/data/ 下的 manifest.yaml、chunks.jsonl、topics.json 是否完整,然后重启 MCP Server。"
}

返却フィールドの説明:

フィールド

値

説明

error

"knowledge_unavailable"

機械的に判断可能なエラーコード

error_type

"knowledge_unavailable"

エラータイプの列挙値

message

中国語のヒント

Agent 向けの可読な説明

component

"operations_knowledge"

障害コンポーネント

recovery_hint

復旧ガイド

Agent または運用担当者の復旧操作

注意:ナレッジベースが利用できない場合、API ナレッジレイヤーや他のツールは正常に動作し続け、運用ナレッジの検索機能のみが影響を受けます。ナレッジベースファイルを復元して再起動すると、自動的に復旧します。


ライセンス

本プロジェクトは MIT License に基づきオープンソースです。


免責事項

  • 本プロジェクトは Ozon 公式のプロジェクトではなく、Ozon 公式との所属関係はありません

  • Ozon API のインターフェース、レート制限ルール、手数料ポリシー、権限要件は随時変更される可能性があります

  • 利用者は Ozon プラットフォームの利用規約および適用される法令を自ら遵守する必要があります

  • 書き込み操作や資金操作に関わる場合は、人による再確認を行ってから実行することを推奨します

  • 本プロジェクトは、本ソフトウェアの使用により生じたいかなる損失についても責任を負いません

Available Tools

15 tools
ozon_describe_methodA

Get a complete description of one Ozon API method.

Returns the method's metadata plus fully-resolved JSON Schema for request and responses. All $ref pointers are inlined; oneOf/anyOf/allOf combinators are preserved verbatim. When knowledge layer is loaded, also includes rate_limit, quirks, examples, and related methods — everything an agent needs to call the method correctly.

Provide either operation_id (preferred) OR path (+ optional http_method).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
http_methodNo
operation_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure, and it mostly delivers. It reveals that all $ref pointers are inlined, combinators are preserved verbatim, and the response conditionally includes rate_limit, quirks, examples, and related methods when the knowledge layer is loaded. It does not mention behavior for invalid, missing, or ambiguous input, but the main output characteristics are clearly disclosed.

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?

The description is compact and front-loaded: purpose first, then key output behavior, then input instructions. Every sentence adds value, and there is no filler or repetition of schema field titles. The length is appropriate for the tool's complexity.

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?

For a method-description tool, the description is largely complete: it covers what is returned, the conditional enrichment, and the parameter selection strategy. It could be stronger by noting error behavior or when to prefer sibling discovery tools, but the presence of an output schema reduces the need to explain return values in prose.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does. It explains the relationship between path and http_method, identifies operation_id as the preferred alternative, and states that path can be optionally paired with http_method. It stops short of giving concrete formats or examples, but the core semantic distinction between the two lookup modes is present.

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 opens with a specific verb and resource: 'Get a complete description of one Ozon API method.' It goes beyond a generic statement by specifying the unique output traits—fully-resolved JSON Schema, inlined $ref pointers, preserved combinators—that distinguish this tool from sibling introspection tools. The scope ('one method') is explicit.

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

Usage Guidelines3/5

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

The description gives clear input-selection guidance ('Provide either operation_id (preferred) OR path (+ optional http_method)'), which helps the agent choose between parameter combinations. However, it does not explicitly explain when to use this tool versus siblings like ozon_search_methods or ozon_get_related_methods. The usage context is implied rather than stated with alternatives or exclusions.

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

ozon_get_error_catalogA

Look up Ozon API errors and their solutions.

Without arguments returns all known errors. With code (e.g. "429" or "InvalidArgument") filters by code. With operation_id returns errors specific to that method plus all generic ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo
operation_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and it does disclose the key behavioral outcomes: return all errors, filter by code, or return method-specific plus generic errors. The main gap is how the tool behaves when both code and operation_id are supplied together, but core transparency is strong.

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?

The first sentence states the core purpose, followed by three terse, high-signal sentences covering each argument mode. There is no filler and every sentence earns its place.

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?

For a simple lookup tool with two optional parameters and an output schema, the description covers the main behaviors and parameter meanings well. The only notable omission is the combined `code` + `operation_id` case, which is a minor completeness gap.

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?

Schema description coverage is 0%, and the description fully compensates: it explains what `code` does with examples and explains the meaningful behavior of `operation_id` (method-specific plus generic errors). Each parameter receives semantic context the schema lacks.

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 states a specific verb ('Look up') and resource ('Ozon API errors and their solutions'), and explicitly explains the three invocation modes (no arguments, by code, by operation_id). This makes the tool's purpose immediately distinguishable from siblings like rate limits, examples, or method descriptions.

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?

The description gives clear usage context by telling exactly what happens with no arguments, with a code, and with an operation_id. It does not explicitly discuss alternatives or when not to use the tool, so it stops short of the top score, but the run-mode guidance is concrete and actionable.

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

ozon_get_examplesB

Get hand-crafted request examples for one method.

Examples are real, validated payloads matching the method's request schema — copy them as starting points for your own calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It adds value by stating the examples are 'real, validated payloads matching the method's request schema,' which is a meaningful guarantee. However, it doesn't disclose error behavior, whether multiple examples are returned, or any limitations.

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?

Two sentences, front-loaded with the core purpose and a practical usage hint. There is no filler or repetition; every clause contributes meaningful information.

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?

For a simple one-parameter tool with an output schema, the description conveys the purpose and the nature of the returned data. However, it omits how to discover a valid operation_id and offers no context about when this tool is the right choice, leaving an agent partially under-informed.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the undocumented operation_id parameter. It only loosely ties the parameter to 'one method' and doesn't explain what the ID looks like or where to obtain it. This leaves a significant gap for an agent selecting a value.

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 uses a specific verb ('Get') and a distinct resource ('hand-crafted request examples for one method'), making it clear that this tool returns example payloads rather than descriptions or schemas. It is distinguishable from sibling tools like describe_method or search_methods, though it does not explicitly name an alternative.

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 gives no guidance on when to choose this tool over siblings. The phrase 'copy them as starting points for your own calls' explains how to use the result, not when to invoke the tool. It also doesn't mention how to find a valid operation_id via related tools.

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

ozon_get_operations_knowledgeA

根据chunk_id读取一个完整的Ozon运营知识片段。

应在 ozon_search_operations_knowledge 返回相关chunk_id后调用, 用于取得完整证据并组织客户答案。

Args: chunk_id: 知识片段ID,来自搜索结果的chunk_id字段

ParametersJSON Schema
NameRequiredDescriptionDefault
chunk_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. The verb '读取' (read) makes the read-only nature clear, and the purpose (retrieve full evidence) is transparent. It does not mention edge cases like missing chunk_id, but for a simple retrieval operation this is a minor gap.

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?

The description is compact, front-loaded with the core purpose, then gives usage context, then parameter details. Every sentence earns its place with no redundancy.

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

Completeness5/5

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

For a single-parameter retrieval tool with an output schema available, the description fully covers what the tool does, when to use it, and where the parameter comes from. Nothing essential is missing.

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

Parameters4/5

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

The input schema provides only the type and name, and schema description coverage is 0%. The description compensates by explaining the source of chunk_id ('来自搜索结果的chunk_id字段'), which adds meaningful guidance beyond 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 uses a specific verb ('读取'/read) and resource ('完整的Ozon运营知识片段'/complete Ozon operations knowledge fragment), and clearly ties it to the search sibling. An agent can distinguish it from ozon_search_operations_knowledge and other getter tools.

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

Usage Guidelines5/5

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

It explicitly states when to use the tool: after ozon_search_operations_knowledge returns relevant chunk_id, and why: to obtain complete evidence and organize customer answers. This gives clear when-to-use guidance and implicitly defines the alternative search tool.

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

ozon_get_rate_limitsA

Look up rate limits for a method, section, or the whole API.

Without arguments returns all known limits. With operation_id, returns the most specific limit (per-method overrides per-section overrides global).

NOTE: Many limits in v0.2 are conservative guesses (source: 'guess'). Verify against real Ozon responses before relying on them in production.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNo
operation_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses the read-only lookup behavior, the precedence behavior, and importantly warns that 'many limits in v0.2 are conservative guesses (source: 'guess')' and advises verification before production use. This is substantive behavioral context beyond the schema.

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?

The description is compact and front-loaded with the core purpose. Every sentence earns its place: the first states what the tool does, the second explains argument behavior, and the note conveys an essential reliability caveat. No redundant filler.

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?

For a read-only lookup tool with two optional parameters and an output schema, the description covers the main usage modes and adds an important data-quality warning. It could more explicitly define what values 'section' expects and how to discover valid section identifiers, but sibling discovery tools likely cover that gap.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains operation_id's meaning and precedence behavior clearly. The 'section' parameter is implied by 'a method, section, or the whole API' but not given a dedicated explanation; still, its purpose is reasonably inferable.

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 uses a specific verb ('Look up') and clearly identifies the resource ('rate limits') and scope options ('a method, section, or the whole API'). This distinguishes it from sibling tools like ozon_describe_method or ozon_search_methods, which serve clearly different purposes.

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?

The description gives concrete invocation guidance: 'Without arguments returns all known limits' and 'With operation_id, returns the most specific limit'. It explains the precedence rule per-method over per-section over global. It does not explicitly contrast with sibling tools, but the focused scope makes the usage context clear.

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

ozon_get_sectionA

List all methods inside a section (by section name or tag).

Args: query: section name or tag, e.g. "FinanceAPI", "Финансовые отчёты", "ProductAPI"

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It conveys that the tool is a read-only lookup ('List') and explains how the query is interpreted (section name or tag), but it does not mention matching behavior, error cases, or other operational details. This is adequate for a simple lookup tool but not rich.

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?

The description is short, front-loaded with the core purpose, and includes a concise parameter explanation with examples. Every sentence adds value and there is no redundant filler.

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

Completeness5/5

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

For a single-parameter, simple lookup tool with an output schema present, the description is complete enough. It tells the agent what the tool does, how the query parameter works, and what kind of answer to expect. No critical missing information prevents correct invocation.

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?

The schema only defines 'query' as a string with 0% coverage, so the description fully compensates by explaining that it accepts a section name or tag and providing concrete examples like 'FinanceAPI' and 'Финансовые отчёты'. This adds significant meaning beyond 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's function: 'List all methods inside a section' with a specific resource and query input. It differentiates well from sibling tools like ozon_list_sections and ozon_describe_method by indicating that it returns methods within a section.

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?

The intended use case is clear: call this when you need all methods belonging to a section identified by name or tag. It does not explicitly state when not to use it or mention alternatives, but the context is unambiguous enough for an agent to select it appropriately.

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

ozon_get_swagger_metaA

Return metadata about the bundled Ozon swagger snapshots.

Tells the caller which spec version we are shipping, how many methods it contains, when the snapshot was refreshed, and the SHA-256 of the file. Useful for:

  • agents that need to decide whether to re-check docs online;

  • operators validating that a refresh actually landed;

  • bug reports — include this in the issue so reproduction is exact.

Returns {"error": "missing"} when the package was built without swagger_meta.json (pre-v0.6 snapshot).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the return contents (spec version, method count, refresh timestamp, SHA-256) and the error case ('{"error": "missing"}') with a version qualifier. It does not mention side effects or network behavior, but the tone and content make this a read-only metadata operation.

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?

The description is front-loaded with the main purpose, followed by a tidy bullet list of use cases and a clear error note. Every sentence contributes information; the structure makes the content scannable without redundancy.

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

Completeness5/5

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

For a no-parameter tool with an output schema, the description provides all necessary context: what is returned, why it is useful, and what the failure mode looks like. Nothing an agent needs to invoke the tool correctly is missing.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. There is nothing to explain about parameter semantics, and the description correctly focuses on the output. No parameter documentation is needed.

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 uses a specific verb ('Return metadata') and a clear resource ('bundled Ozon swagger snapshots'), then lists the exact pieces of metadata delivered. It clearly distinguishes itself from sibling tools like ozon_search_methods or ozon_describe_method, which operate on API operations rather than the snapshot itself.

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?

The 'Useful for' section gives concrete, actionable scenarios: deciding whether to re-check docs online, validating a refresh, and including in bug reports. It does not explicitly name alternative tools or state when not to use it, but the use cases are specific enough to guide selection among siblings.

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

ozon_get_workflowA

Get the full step-by-step plan for one workflow.

Returns ordered steps with operation_ids, pagination/batching/concurrency guidance, recommended DB schema, and known gotchas. Analytical workflows additionally carry interpret (how to read the data), when_to_use (situations the workflow fits) and common_mistakes.

Args: name: workflow name from ozon_list_workflows, e.g. "sync_orders_fbs" or "oos_risk_analysis"

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does well by describing the rich return behavior: ordered steps, operation_ids, pagination/batching/concurrency guidance, recommended DB schema, and known gotchas. It also discloses conditional content for analytical workflows. It does not explicitly state that the operation is read-only, but 'Get' and 'Returns' strongly imply a safe retrieval.

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?

The description is compact and well-structured: a one-line primary purpose, a concise summary of return contents, and a focused Args section. No filler or repetition exists, and the most important action is front-loaded.

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

Completeness5/5

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

For a single-parameter retrieval tool with an output schema present, the description is complete enough. It identifies the prerequisite source for the argument, gives representative examples, and summarizes the return value. Agents can confidently select and invoke this tool without needing additional context.

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?

The schema provides only a bare 'name' string with no description, so 0% schema coverage. The description compensates fully by explaining that name is a workflow name from ozon_list_workflows and offering two realistic examples ('sync_orders_fbs', 'oos_risk_analysis'). This gives the agent the exact source and format of valid values.

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 opens with a specific verb and resource: 'Get the full step-by-step plan for one workflow.' It clearly differentiates from sibling tools like ozon_list_workflows because it targets a single workflow rather than listing all workflows, and it does not overlap with method-focused siblings like ozon_describe_method.

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?

The description provides clear context for when to use the tool: after obtaining a workflow name from ozon_list_workflows. It gives concrete examples of valid names. It does not explicitly state when NOT to use it or name alternatives, but the one-workflow scope and prerequisite are clear enough for an agent to route correctly.

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

ozon_list_methods_for_subscriptionA

List all Ozon methods that mention a specific subscription tier.

Useful when an agent wants to know "what extra capabilities do I unlock by upgrading to Premium Plus?" or "which methods will fail without Premium?". Tiers are auto-extracted from method documentation, so this is a hint, not a contract — the actual hard 403 set may differ.

Args: tier: one of UNSPECIFIED, PREMIUM_LITE, PREMIUM, PREMIUM_PLUS, PREMIUM_PRO

ParametersJSON Schema
NameRequiredDescriptionDefault
tierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden, and it handles this well by disclosing that tiers are auto-extracted from documentation, calling the result a 'hint, not a contract', and warning that the actual 403 set may differ. This is exactly the kind of behavioral nuance an agent needs to avoid over-trusting the output.

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?

The description is compact and front-loaded: the first sentence states the core function, followed by practical use cases, a critical caveat, and parameter values. Each sentence earns its place; there is no filler or repetition of structured data.

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

Completeness5/5

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

For a simple one-parameter tool with an output schema present, the description covers purpose, when to use it, the main reliability caveat, and the complete set of valid parameter values. Nothing necessary for an agent to invoke it correctly is missing.

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?

Schema description coverage is 0%, so the description must compensate for the schema's bare string type. It does so by enumerating the valid tier values: UNSPECIFIED, PREMIUM_LITE, PREMIUM, PREMIUM_PLUS, and PREMIUM_PRO, and by tying them to subscription tiers in the usage examples. This adds real meaning beyond the input 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 states a specific verb and resource: 'List all Ozon methods that mention a specific subscription tier.' It clearly differentiates from sibling tools like ozon_search_methods or ozon_get_related_methods by focusing on subscription-tier membership, and it reinforces this with concrete user questions.

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?

The description gives clear when-to-use guidance through examples like 'what extra capabilities do I unlock by upgrading to Premium Plus?' and 'which methods will fail without Premium?'. It does not explicitly name alternative tools or state when not to use it, but the context is unambiguous enough for an agent to select it appropriately.

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

ozon_list_operations_topicsA

列出中文Ozon运营知识库的课程目录和主题。

可按模块、课程标题或关键词筛选,用于了解知识库覆盖范围。

Args: query: 可选,按课程标题或关键词筛选 module: 可选,按模块筛选 limit: 返回数量(默认20) offset: 分页偏移(默认0) include_chunk_ids: 是否返回chunk_id列表(默认false,避免上下文过大)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
moduleNo
offsetNo
include_chunk_idsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses pagination via limit/offset and the side effect of include_chunk_ids (avoiding overly large context). Being a list operation, read-only behavior is reasonably inferable.

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?

The description is compact and front-loaded: purpose first, then usage intent, followed by a clean Args block. Every sentence adds value, and there is no filler or duplication of schema-only information.

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

Completeness5/5

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

All five optional parameters are semantically explained, the use case is clear, and an output schema exists so return-value documentation is unnecessary. The description is fully sufficient for an agent to call this tool correctly.

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?

The schema has 0% description coverage, but the description fully compensates by explaining query, module, limit, offset, and include_chunk_ids, including defaults and the rationale for the chunk ID flag.

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 uses a specific verb ('列出') and a concrete resource: the Chinese Ozon operations knowledge base's course catalog and topics. It also states filtering capabilities, making its scope distinct from the search/retrieval sibling tools.

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?

It explicitly says the tool is for understanding knowledge base coverage, and lists the available filters. It does not explicitly name sibling alternatives or state when not to use it, but the intended context is clear.

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

ozon_list_sectionsA

List all Ozon API sections (Seller + Performance) with method counts.

Use this first to orient yourself in the API. Returns sections grouped by api ('seller' or 'performance'), each with the human-readable section name, the underlying tag, and the number of methods inside.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries full disclosure burden. It clearly explains behavior: returns sections grouped by api, includes section name, tag, and method count, and covers both seller and performance APIs. It does not mention auth or side effects, but the listing nature and zero parameters make those less critical.

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?

Three short sentences: purpose, usage, and output structure. The primary action is front-loaded, and every sentence carries useful information without padding.

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

Completeness5/5

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

Given the tool's low complexity, zero parameters, and available output schema, the description is complete. It tells the agent when to use it, what it lists, and how the result is structured. Nothing important is missing for selecting and invoking it correctly.

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

Parameters4/5

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

The tool has zero parameters, and schema coverage is 100%, so there are no parameter semantics to clarify. The description correctly adds no parameter-related confusion and earns the zero-parameter baseline of 4.

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?

States a specific verb and resource: 'List all Ozon API sections' with explicit scope ('Seller + Performance') and output ('method counts'). The description makes the tool's purpose immediately clear and distinct from focused sibling tools like ozon_get_section.

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?

Gives explicit entry-point guidance: 'Use this first to orient yourself in the API.' This tells the agent when to invoke the tool. It does not name exclusions or alternatives, but for a zero-parameter orientation tool this is sufficient context.

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

ozon_list_workflowsA

List all curated workflows, optionally filtered by category.

Workflows are step-by-step recipes for chaining Ozon API methods into real data pipelines or analytical reports. Use ozon_get_workflow to fetch the full plan for a specific workflow.

Args: category: optional filter — one of "catalog", "orders", "analytics", "health", "pricing", "content", "advertising", "warehouse", "returns", "finance". When provided, only workflows in that category are returned. categories in the response always lists every value present in the catalogue.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the read-only listing behavior, the optional category filter, and adds a useful nuance: 'categories in the response always lists every value present in the catalogue.' This goes beyond the bare operation and gives the agent a clearer model of the tool's behavior.

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 structured with a clear one-sentence purpose, a brief explanatory paragraph about workflows, a pointer to the sibling tool, and a structured Args section. The category list is somewhat long but necessary, and every sentence contributes a useful detail.

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?

For a simple list operation with one optional parameter and an existing output schema, the description is nearly complete. It covers purpose, filtering behavior, category values, and the sibling tool for deeper details. It doesn't explicitly mention the absence of required parameters or error handling, but 'optional' and the provided category list imply this well enough.

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?

Schema description coverage is 0%, so the description must fully explain the parameter. It does: category is described as optional, its allowed values are enumerated, and the filtering behavior is specified. This fully compensates for the missing schema descriptions.

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 opens with a clear, specific statement: 'List all curated workflows, optionally filtered by category.' It identifies the resource (curated workflows) and the action (list), and distinguishes itself from the sibling ozon_get_workflow by explaining that the sibling fetches the full plan. This makes the tool's purpose unmistakable.

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?

The description gives clear context for when to use this tool ('List all curated workflows') and explicitly routes the agent to ozon_get_workflow when a full plan is needed. It does not explicitly discuss exclusions or when not to use it, but the sibling differentiation and category filter behavior provide adequate guidance.

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

ozon_search_methodsA

Full-text search across all Ozon API methods.

Searches over operation_id, path, summary, description, section, and tag using BM25 ranking with field boosting (summary x4, path/op_id x3, description x1). Supports Russian and English queries with stemming.

Args: query: free-text query, e.g. "list of postings" or "финансовые транзакции" section: optional filter — match by section name or tag (case-insensitive substring) api: optional filter — "seller" or "performance" safety: optional filter — "read", "write", or "destructive" limit: max results to return (default 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
apiNo
limitNo
queryYes
safetyNo
sectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the BM25 ranking algorithm, field boosting weights, Russian/English stemming support, and available filters. This goes well beyond a basic statement and gives an agent realistic expectations about search behavior.

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?

The description is well-structured and front-loaded: a clear one-line purpose, followed by relevant search behavior details, then a compact argument list. Every sentence contributes useful information with no repetition or filler.

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?

The description covers search semantics, all parameters, and filtering options. Since an output schema exists, not detailing the return format is acceptable. The main gap is the lack of explicit routing guidance relative to sibling search/knowledge tools, but overall it is close to complete for this tool's complexity.

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?

Schema description coverage is 0%, and the description fully compensates. It explains query with examples, describes section, api, safety, and limit, and even specifies allowed values such as 'read', 'write', and 'destructive'. This adds significant meaning beyond the bare 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 immediately states a specific action — full-text search across all Ozon API methods — and identifies the exact searched fields (operation_id, path, summary, description, section, tag). This clearly distinguishes it from sibling tools like ozon_list_sections or ozon_describe_method.

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

Usage Guidelines3/5

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

Usage is implied: use this tool when you need to find API methods by free-text query. However, it does not explicitly say when to prefer this over alternatives such as ozon_search_operations_knowledge or ozon_get_related_methods, nor does it state any exclusions.

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

ozon_search_operations_knowledgeA

搜索中文Ozon运营知识库。

适用于经营模式、跟卖、精铺、选品、商品卡、定价、仓库、物流、货代、 促销、广告、履约、售后和风险问题。先搜索获取相关片段ID,再使用 ozon_get_operations_knowledge 读取完整证据。

Args: query: 搜索关键词(中文),例如"跟卖怎么选品""精铺差异化""货代发货流程" limit: 返回结果数量(默认5,最大10) module: 可选,按模块筛选 lesson_id: 可选,按课程ID筛选 verification_required: 可选,筛选需要时效复核的片段

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
moduleNo
lesson_idNo
verification_requiredNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behavior: this is a search step that returns fragment IDs, not full content, and that full evidence is obtained elsewhere. It could add more detail about output structure or edge cases, but the core behavioral contract is clear.

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 moderately long but every section earns its place: purpose, domain keywords, workflow, and parameter details. The topic list is somewhat lengthy but adds useful selection context. The Args section is cleanly structured and easy to scan.

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

Completeness5/5

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

Given the output schema exists and the tool is a straightforward search operation, the description is complete: it covers the required query, all optional filters, the workflow, and the relationship to the companion get tool. An agent has enough information to invoke this tool correctly.

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?

Schema description coverage is 0%, so the description is the only source of parameter meaning. It explains all five parameters: query with Chinese examples, limit with default and maximum, module filtering, lesson_id filtering, and verification_required for time-sensitive review. This fully compensates for the empty schema descriptions.

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 states a specific verb and resource: '搜索中文Ozon运营知识库' (search the Chinese Ozon operations knowledge base). It lists concrete application domains and explicitly distinguishes itself from the sibling read tool by saying to search first for fragment IDs and then use ozon_get_operations_knowledge to read full evidence.

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

Usage Guidelines5/5

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

The description provides clear usage context by enumerating the applicable topics ('经营模式、跟卖、精铺...') and gives an explicit workflow: first search to obtain fragment IDs, then use ozon_get_operations_knowledge for full evidence. This effectively tells the agent when to use this tool and names the alternative.

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.

  1. 15 tool updatesv0.1.1
    • First observedozon_describe_method
    • First observedozon_get_error_catalog
    • First observedozon_get_examples
    • First observedozon_get_operations_knowledge
    • First observedozon_get_rate_limits
    • First observedozon_get_related_methods
    • First observedozon_get_section
    • First observedozon_get_swagger_meta
    • First observedozon_get_workflow
    • First observedozon_list_methods_for_subscription
    • First observedozon_list_operations_topics
    • First observedozon_list_sections
    • First observedozon_list_workflows
    • First observedozon_search_methods
    • First observedozon_search_operations_knowledge

TDQS

A4.2/5.0

Scored across 15 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: searching methods, describing a method, listing sections, retrieving workflows, rate limits, errors, examples, and separate Chinese knowledge base tools. No two tools overlap in functionality.

Naming Consistency4/5

Most tools follow the 'ozon_verb_noun' pattern (e.g., search_methods, get_workflow), but a few are inconsistent: 'ozon_get_section' actually lists methods rather than retrieving a section, and 'describe_method' vs 'get_section' uses different verbs for similar retrieval actions. Overall still predictable.

Tool Count5/5

15 tools is reasonable for an API exploration and knowledge base server. It covers a comprehensive set of actions without being excessive or sparse.

Completeness5/5

The server covers all major aspects of Ozon API exploration: sections, methods, workflows, limits, errors, examples, metadata, subscription details, and a Chinese operations knowledge base. No obvious missing functionality for its stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

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
    23
    MIT
  • F
    license
    Not graded
    quality
    D
    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.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server exposing 1688 and OZON e-commerce crawling tools, enabling AI agents to perform product search, image search, and supplier contact scraping via natural language.
    -
  • 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
    40 npm
    6
    -