Ozon MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ozon MCP Serversearch for coffee machine with price under 30000 rubles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ozon MCP Server
MCP-сервер для поиска товаров на Ozon (ozon.ru). Даёт ИИ три инструмента: искать товары, читать карточку и читать отзывы.
Публичного API для покупателей у Ozon нет, а сайт закрыт антиботом Variti. Поэтому сервер держит один headless-браузер Chromium, который проходит проверку один раз, а дальше забирает данные JSON-ом из внутреннего composer-api прямо со страницы. HTML не парсится — данные приходят структурированными.
Инструменты
ozon_search — поиск товаров. Возвращает название, цену (в рублях, числом), старую цену, скидку, рейтинг, число отзывов, бренд, картинку и чистую ссылку.
ozon_product_details — карточка товара по SKU, ссылке или slug. Цена (с картой / без карты / старая), наличие, рейтинг, продавец, фото, характеристики, описание.
ozon_product_reviews — отзывы покупателей: текст, оценка, плюсы, минусы, дата.
Related MCP server: mcp-ozon-seller
Запуск через Docker
Образ опубликован в Docker Hub.
docker run -i --rm --init --shm-size=1g eduard256/ozon-mcp-server:latestФлаги обязательны: -i — stdin для stdio, --init — корректное завершение Chromium, --shm-size=1g — память для браузера.
Установка в ваш клиент
Инструкция под каждую систему — отдельным файлом:
Как это работает
src/browser.js— один Chromium. Проходит антибот на главной странице и держит её открытой; всеfetchидут с неё. При HTTP 403/307 (сессия протухла) или падении браузера перезапускается сам. Через 10 минут простоя браузер закрывается, чтобы освободить память.src/parse.js— чистые парсеры JSON изcomposer-api(widgetStates). Без сети.src/ozon.js— строит пути API, забирает данные, парсит.src/index.js— MCP-сервер по stdio. Логи идут только в stderr (stdout занят протоколом JSON-RPC).
Важно:
Нельзя блокировать загрузку картинок, шрифтов и стилей — антибот грузит свои скрипты через них. Заблокируешь — Ozon вернёт 403.
fetchдолжен идти со страницы на домене ozon.ru, а не с пустой — иначе CORS и 403.Первый запрос платит за прохождение антибота (~12 секунд). Дальше — 0.3–1 секунда.
Локальная разработка
npm install
npx playwright install chromium
node src/index.js # MCP-сервер по stdio
npm run test:parse # офлайн-тесты парсеров на samples/Available Tools
3 toolsozon_product_detailsGet Ozon product detailsARead-onlyIdempotent
Get full details for one Ozon product: name, price (card/regular/old), availability, product rating, seller (name + rating), images, key characteristics, and the product description (text and/or banner image URLs). Accepts an SKU, a full product URL, or a slug.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Product SKU (e.g. "1185261285"), full ozon.ru product URL, or product slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, covering safety and idempotency. The description adds no contradictory information and lists return fields, but does not disclose additional behavior beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with the most important information (what the tool returns), followed by input options. Every sentence is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with annotations, the description covers return fields and input flexibility. No output schema, but the field list compensates. It omits error handling or edge cases, but the context is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with an adequate description. The tool description adds value by listing the specific return fields, which the schema does not include. Input types are already in schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves full details for a single product, lists specific fields returned (price, rating, seller, images, etc.), and differentiates from sibling tools (ozon_product_reviews for reviews, ozon_search for search results).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to get product details) and provides accepted input formats (SKU, URL, slug). It does not explicitly state when not to use or mention alternatives, but sibling tool names are provided, allowing inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ozon_product_reviewsGet Ozon product reviewsARead-onlyIdempotent
Read real customer reviews for an Ozon product: author, score (1–5), comment, pros, cons, date, usefulness, whether the item was purchased, and whether photos are attached. Accepts an SKU, a full product URL, or a slug.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of reviews (1–30, default 10) | |
| product | Yes | Product SKU (e.g. "1185261285"), full ozon.ru product URL, or product slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations (readOnlyHint true) by detailing returned fields and accepted input formats (SKU, URL, slug). No contradictions, but omits potential behavioral traits like pagination or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose and output fields, second specifies input flexibility. No wasted words, front-loaded with core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool simplicity (2 params, simple data), description covers all needed context: output fields, input types, and limits (via schema). No output schema required; completeness is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already has 100% description coverage for both parameters. Description reiterates input types for 'product' but adds no new semantics beyond schema. Baseline 3 maintained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it reads reviews for an Ozon product, listing specific data fields (author, score, pros/cons, etc.). This distinguishes it from siblings: ozon_product_details (product info) and ozon_search (search results).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for retrieving reviews but does not explicitly contrast with siblings or specify when to choose this over ozon_product_details or ozon_search. No when-not or alternative guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ozon_searchSearch Ozon productsARead-onlyIdempotent
Search products on the Ozon marketplace (ozon.ru). Returns a list of products with name, price (RUB, numeric), old price, discount, rating, review count, brand, image and a clean product URL. Use this to find products and compare prices, then hand the URLs to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: popular (default), price (cheap→expensive), price_desc, rating, new, discount | popular |
| limit | No | Max number of results (1–36, default 12) | |
| query | Yes | Search query, e.g. "iphone 15", "плед 150х200", "носки мужские" | |
| priceMax | No | Maximum price in RUB | |
| priceMin | No | Minimum price in RUB |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, so the description doesn't need to repeat that. It adds some behavioral context (returns specific fields, currency RUB, numeric price), but nothing beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, compact and front-loaded. First sentence states purpose and output; second gives usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 well-described parameters, complete annotations, and no output schema, the description provides sufficient high-level context and usage advice. It lists output fields but not detailed structure, which is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are described in the schema. The tool description does not add new parameter information beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches products on Ozon marketplace, returning specific fields like name, price, rating, etc. It distinguishes from sibling tools (ozon_product_details, ozon_product_reviews) by focusing on search and price comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to find products and compare prices, then hand the URLs to the user.' It gives clear when-to-use context, though it doesn't explicitly mention alternatives for details/reviews.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct task: search, product details, and reviews. No overlap in purpose, so an agent can clearly differentiate them.
All tools share the 'ozon_' prefix and use clear resource-action naming, but 'search' is a verb while the other two are noun phrases, introducing a slight inconsistency.
Three tools is appropriate for a focused product information server; it's slightly thin but covers the core functionality without feeling insufficient.
The set covers searching, detailed product info, and reviews—core read operations. It lacks tools for categories or recommendations, but for the stated scope it is reasonably complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Russian books search, details, and recommendation candidates.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for ua_e_commerce_price_tracker_mcp
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server that turns Wildberries marketplace into a toolkit for LLM agents, enabling product search, detailed card inspection, price history, reviews, and cross-product comparison.
- AlicenseAqualityDmaintenanceMCP server for Ozon Seller API that enables AI clients to manage products, prices, stocks, orders, analytics, and finances on Ozon marketplace.26736Unlicense - libtelnet variant
- AlicenseAqualityDmaintenanceMCP server for Ozon Seller API, enabling product, order, finance, and analytics management via natural language or CLI.32MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Ozon sellers with a built-in Chinese operations knowledge base and 466 API methods, enabling AI agents to discover, understand, and execute Ozon Seller and Performance API operations safely and efficiently.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/eduard256/ozon-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server