Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Vladimir-Human/ru-marketplace-mcp --skill ozon-connectorgit clone --depth 1 https://github.com/Vladimir-Human/ru-marketplace-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vladimir-human/ru-marketplace-mcp/ozon-connector)<a href="https://agentmods.dev/skills/vladimir-human/ru-marketplace-mcp/ozon-connector"><img src="https://agentmods.dev/badge/skills/vladimir-human/ru-marketplace-mcp/ozon-connector/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vladimir-human/ru-marketplace-mcp/ozon-connector"><img src="https://agentmods.dev/badge/skills/vladimir-human/ru-marketplace-mcp/ozon-connector.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00098 | $0.00869 |
| Opus 5.5 | $0.00039 | $0.00348 |
| Sonnet 5.5 | $0.00020 | $0.00174 |
| Haiku 4.5 | $0.00010 | $0.00087 |
Grade A, and why
ozon-connector scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Protocol. Plain curl/httpx fails outright (307 loop on the TLS fingerprint), which is Copies of this mod
1 near-identical copy found in the catalogue:
- ozon-connector — 92% identical, 16 lines differ
How it starts
The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ozon Connector
Two-tier connector. Tier 1 is curl_cffi with TLS impersonation and handles most
queries — no browser involved. Only when Cloudflare serves a JS challenge does the
fetch fall back to tier 2, inside the operator's logged-in Chrome over the DevTools
Protocol. Plain curl/httpx fails outright (307 loop on the TLS fingerprint), which is
why tier 1 impersonates and tier 2 exists at all.
Prerequisite
Nothing to set up for tier 1. For the tier-2 fallback, Chrome is started on first use
by mcp_core.transport.chrome_cdp if the CDP port is not already listening, into a
dedicated %LOCALAPPDATA%\Chrome-Scraping profile. From a Russian residential IP
tier 1 usually answers and Chrome is never touched.
When to use
- Product detail: price, rating, seller, characteristics
- Search Ozon catalog
- Cross-check Ozon vs WB prices
Tools available
ozon_card(sku_or_path)— fetch full product card via composer-api.bxozon_search(query, page)— search Ozon catalog;pageis 1..10, one page per callozon_reviews(sku_or_path, limit, sort)— product reviews
Not an MCP tool: ozon_selfcheck() is a drift canary: success means both
tiers answered, inconclusive means Chrome was unreachable, drift_detected
means the payload shape moved. It is CLI-only — marketplace-mcp doctor runs
every connector's canary at once.
Workflow
ozon_search("query")→ get list of SKUsozon_card(sku)→ drill into chosen product- If a call comes back blocked, the tier-1 request was challenged — start Chrome
for the fallback (
scripts/start_chrome_cdp.ps1), log into ozon.ru in the scraping profile, and retry. Confirm the port withTest-NetConnection 127.0.0.1 -Port 9222.
Gotchas
- Ozon sometimes shows captcha challenge. Library waits 5s but cannot solve captcha.
If
status=error type=parse, open ozon.ru manually, solve captcha, retry. - ETOZ TLS fingerprint check is why we use CDP. Do NOT try curl/httpx directly.
- Composer-api widget keys vary (webPrice-XXXX). Library scans all webPrice-* keys.
- A missing price is
null, never0:price: null(andcard_price: null) means Ozon served no usable price — treat it as no data, never as a free item.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +6 lines 7b99d510a00a
- 1mo ago First seen · 60 lines · 98 tokens per session scan A 876e5aff9953
ozon-connector is a skill published in the GitHub repository Vladimir-Human/ru-marketplace-mcp (163 stars, last pushed yesterday), licensed MIT. It adds 98 tokens to every session and 869 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
alibaba-supplier-outreach
Codex-native supplier sourcing and outreach workflow for Alibaba using LaunchFast research. Use when the user wants supplier shortlists, outreach messages, reply triage, or negotiation support. Requires supplierresearch. Browser automation is optional but useful when the user wants Codex to interact with Alibaba…
snaplii-autopilot
End-to-end Agent-to-Merchant autopilot: buy a Snaplii gift card with cashback, then drive the browser to redeem it on the merchant/delivery site and place the order — all in one flow. Use when the user wants the agent to actually complete a purchase or food/delivery order (e.g. 'order me a coffee on Uber Eats and pay…
ebay-search-listing
Extracts product listings from any eBay search or category page URL, returning per-item cards (itemNumber, url, title, subtitle, caption, price, priceWithCurrency, currency, wasPrice, bids, shipping, seller, sellerFeedbackCount, sellerPositiveRating, reviewsCount, starRating, image) plus pagination state (currentPage…
amazon-bestseller-listing
Amazon Best Sellers listing scraper: extract product cards from any Amazon Best Sellers (zgbs) or /gp/bestsellers/ category page — returns rank (position on chart), asin, title, url, image, imageAlt, price, stars, reviewCount, ratingRaw per item, plus category metadata (categoryName, categoryFullName, categoryUrl) and…
amazon-search-listing
Amazon search and category listing scraper: extract product listings from any Amazon search results page, keyword search URL, or category browse page and return per-item cards (asin, title, url, image, price, listPrice, stars, reviewCount, badges, isAmazonChoice, isBestSeller, isSponsored, delivery, boughtInPast…
etsy-product-detail
Etsy product detail scraper: given an Etsy listing URL, returns full product detail including listingId, title, priceCurrent, priceOriginal, currency, images (all), description, shopName, shopUrl, rating, reviewCount, favorites, inCartCount, variations (with per-option price ranges), highlights, listedDate…