Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito
Wildberries, Ozon, Yandex Market & Avito seller APIs for AI assistants: schema-driven, safety-gated.
Connector by ilyautov · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ilyautov-marketplaces-mcp-ru
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: ecommerce, api-integration
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 21 read · 5 write · 0 delete
- Secrets
- 5 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 26
Read from the source code; the running server may list different tools.
Read 21 · Look things up without changing anything.
avito_get_balanceavito_get_chatsavito_get_item_statsavito_get_itemsavito_get_ordersavito_get_reviewsavito_get_stocksavito_whoamiozon_get_fbs_unfulfilledozon_get_pricesozon_get_productsozon_get_stocks
Show 9 more tools
wb_get_new_orderswb_get_priceswb_get_saleswb_get_stocksym_get_campaignsym_get_offersym_get_ordersym_get_pricesym_get_stocks
Write 5 · Create, change, send or run things.
avito_update_priceavito_update_stockozon_set_pricewb_set_priceym_set_price
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
AVITO_CLIENT_SECRETOZON_API_KEYOZON_PERF_CLIENT_SECRETWB_API_TOKENYANDEX_MARKET_API_KEY
Other settings (environment variables or headers).
AVITO_CLIENT_IDOZON_CLIENT_IDOZON_PERF_CLIENT_ID
Network hosts it talks to 16
aifrontier.tech· found in codeapi-performance.ozon.ru· found in codeapi.avito.ru· found in codebusiness-mcp-ru.aifrontier.tech· found in codedev.wildberries.ru· found in codedevelopers.avito.ru· found in codedocs.astral.sh· found in codedocs.ozon.ru· found in codefonts.googleapis.com· found in codefonts.gstatic.com· found in codegithub.com· found in codeilyautov.github.io· found in codemarketplaces-mcp-ru.aifrontier.tech· found in codesitemaps.org· found in codet.me· found in codeyandex.ru· found in code
Files it touches
/etc/alpine-release/tmp/seller_swagger.json- Your home directory (~)
~/.config/Claude~/.marketplace-mcp/cabinets.json
Tools (26)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
avito_get_balanceAvito wallet balanceread-onlyWallet balance: real money and bonuses (GET /core/v1/accounts/{user_id}/balance/). Returns JSON: {"ok": true, "data": {"real": ..., "bonus": ...}}.
avito_get_chatsAvito chatsread-onlyBuyer chats (GET /messenger/v2/accounts/{user_id}/chats). Requires the Messenger API to be enabled on the seller's Avito plan. Args: unread_only: only chats with unread messages. item_ids: comma-separated listing ids to filter chats by. limit: page size (<=100). offset: pagination offset (<=1000). Returns JSON: {"ok": true, "data": {"chats": [{"id", "context", "last_message", "users"}]}}.
avito_get_item_statsAvito listing statsread-onlyViews / contacts / favorites per listing per period (POST /stats/v1/accounts/{user_id}/items). Up to 200 ids, 270 days deep. Args: item_ids: comma-separated listing ids. date_from: YYYY-MM-DD (inclusive). date_to: YYYY-MM-DD (inclusive). period_grouping: day | week | month. Returns JSON with result.items[].stats[] {date, uniqViews, uniqContacts, uniqFavorites}.
avito_get_itemsAvito listingsread-onlyList the seller's listings (объявления): status, category, url (GET /core/v1/items). Max 25 requests/min. Args: status: active | removed | old | blocked | rejected (comma-separated ok). category: Avito category id filter, 0 = all. updated_from: YYYY-MM-DD lower bound on the listing update date. page: 1-based page number. per_page: page size (<100). Returns JSON: {"ok": true, "data": {"meta": {...}, "resources": [...]}}. For all pages use avito_fetch_all with avito_get_items_info.
avito_get_ordersAvito ordersread-onlyOrders placed with Авито Доставка (GET /order-management/1/orders). Business (B2C) sellers only. Args: statuses: comma-separated filter: on_confirmation, ready_to_ship, in_transit, canceled, delivered, on_return, in_dispute, closed. date_from: unix timestamp — only orders created after it. page: 1-based page number. limit: page size (<=20). Returns JSON: {"ok": true, "data": {"orders": [...], "hasMore": bool}}. Each order has availableActions (confirm / reject / setTrackNumber …) and schedules (deadlines such as confirmTill, shipTill).
avito_get_reviewsAvito reviewsread-onlyPublished reviews on the seller with score, text, deal stage and the seller's answer (GET /ratings/v1/reviews). Use avito_get_ratings_info_v1 via avito_call_method for the aggregate rating. Args: offset: pagination offset. limit: page size (<=50). Returns JSON: {"ok": true, "data": {"total": n, "reviews": [...]}}.
avito_get_stocksAvito stocksread-onlyStock per listing (POST /stock-management/1/info): quantity, is_unlimited, is_out_of_stock. Up to 500 ids per call. Args: item_ids: comma-separated Avito listing ids. Returns JSON: {"ok": true, "data": {"stocks": [{"item_id", "quantity", ...}]}}.
avito_update_priceAvito update listing priceSet the price of ONE listing (POST /core/v1/items/{item_id}/update_price). WRITE. Requires confirm_write=true. Goods, spare parts, cars, real estate only; max 150 requests/min. Args: item_id: Avito listing id. price: new price in roubles (integer). confirm_write: must be true to send. Returns JSON: {"ok": true, "data": {"result": {"success": true}}}.
avito_update_stockAvito update stockSet the available quantity of ONE listing (PUT /stock-management/1/stocks). WRITE. Requires confirm_write=true. quantity 0 hides the "buy with delivery" button. Args: item_id: Avito listing id. quantity: units available (0..999999). confirm_write: must be true to send. Returns JSON: {"ok": true, "data": {"stocks": [{"item_id", "success", "errors"}]}}.
avito_whoamiAvito accountread-onlyAuthorized Avito account: id (needed as user_id in many methods), name, email, phone, profile_url. Also the cheapest way to verify the credentials. Returns JSON: {"ok": true, "data": {"id": ..., "name": ..., ...}}.
ozon_get_fbs_unfulfilledOzon unfulfilled FBS ordersread-onlyList new/unprocessed FBS shipments awaiting assembly. Args: cutoff_from: ISO datetime lower bound, e.g. "2026-06-01T00:00:00Z". cutoff_to: ISO datetime upper bound. limit: page size. offset: pagination offset. Returns JSON: {"ok": true, "data": {"result": {"postings": [...]}}}.
ozon_get_pricesOzon pricesread-onlyGet prices, commissions and price indexes per product (v5/product/info/prices). Args: visibility: product visibility filter (default ALL). limit: page size (<=1000). cursor: pagination cursor from a previous response. Returns JSON with price, marketing_seller_price, min_price, commissions, price_indexes.
ozon_get_productsOzon product listread-onlyList Ozon products (one page). Args: visibility: ALL | VISIBLE | INVISIBLE | ARCHIVED | IN_SALE ... limit: page size (<=1000). last_id: cursor from a previous page (empty for first page). Returns JSON: {"ok": true, "data": {"result": {"items": [...], "last_id": "..."}}}. For every product across pages use ozon_fetch_all with ozon_product_list.
ozon_get_stocksOzon stocksread-onlyGet available + reserved stock per product (v4/product/info/stocks). Args: visibility: product visibility filter (default ALL). limit: page size (<=1000). last_id: cursor for pagination. Returns JSON with stock per product (present, reserved) per warehouse type.
ozon_set_priceOzon set priceSet the price for ONE product by offer_id (v1/product/import/prices). WRITE. Requires confirm_write=true. Ozon limits price updates to ~10/product/hour. Prices are strings. old_price="0" clears the strikethrough old price. Args: offer_id: seller's article (offer_id). price: new price as a string, e.g. "1499". old_price: pre-discount price as string, or "0" to clear. min_price: minimum price as string, or "0". currency_code: default "RUB". confirm_write: must be true to send. Returns JSON: {"ok": true, "data": {"result": [{"offer_id", "updated", "errors"}]}}.
Show 11 more tools
wb_get_new_ordersWB new FBS ordersread-onlyGet new FBS assembly orders awaiting processing (Marketplace API). Returns JSON: {"ok": true, "data": {"orders": [...]}} — each order has id, rid, article, skus, createdAt, warehouseId.
wb_get_pricesWB prices & discountsread-onlyGet current prices and discounts for products (Discounts-Prices API). Args: limit: page size (<=1000). offset: pagination offset. filter_nm_id: optional single nmID to filter by. Returns JSON: {"ok": true, "data": {"listGoods": [{nmID, sizes, discount, ...}]}}.
wb_get_salesWB sales & returnsread-onlyGet Wildberries sales and returns since a date (Statistics API, 1 req/min). Args: date_from: RFC3339 date/time in MSK, e.g. "2026-06-01" or "2026-06-01T00:00:00". flag: 0 = rows changed since date_from (incremental); 1 = rows dated on date_from. Returns JSON: {"ok": true, "status", "data": [ sale rows ]} or error envelope. Each row includes saleID, srid, nmId, totalPrice, forPay, lastChangeDate.
wb_get_stocksWB current stocksread-onlyGet the current Wildberries stock snapshot (Statistics API, 1 req/min). Stocks have no history — this is a point-in-time snapshot. Use an early date_from to get the full current set. Args: date_from: RFC3339 date; default "2020-01-01" returns everything in stock now. Returns JSON: {"ok": true, "data": [ stock rows ]} with quantity, warehouseName, nmId.
wb_set_priceWB set price/discountSet price and discount for ONE product (Discounts-Prices API). WRITE. Requires confirm_write=true (this changes your live price). A new price 3x below the old one lands the product in WB price quarantine. Args: nm_id: product nmID. price: new base price in rubles (integer). discount: discount percent (0-99). confirm_write: must be true to actually send the change. Returns JSON: {"ok": true, "data": {"id": uploadID}} — poll wb_prices_history_tasks.
ym_get_campaignsYandex Market shops (campaigns)read-onlyList the seller's shops (кампании) with their campaignId and businessId. Call this first: nearly every other Yandex Market method needs a campaignId (магазин) or businessId (кабинет продавца). Both are in the response: campaigns[].id and campaigns[].business.id. Args: page_token: pageToken from a previous page (empty for the first page). limit: page size (<=100). Returns JSON: {"ok": true, "data": {"campaigns": [...], "paging": {...}}}.
ym_get_offersYandex Market offers (catalog)read-onlyList the seller's offers (товары) with their Market card mapping (POST /v2/businesses/{businessId}/offer-mappings). Args: business_id: cabinet id (campaigns[].business.id). offer_ids: comma-separated offerId (SKU) filter; empty = all. page_token: pageToken from a previous page. limit: page size (<=200). Returns JSON: {"ok": true, "data": {"result": {"offerMappings": [...], "paging": {...}}}}.
ym_get_ordersYandex Market ordersread-onlyList orders of one shop (GET /v2/campaigns/{campaignId}/orders). Args: campaign_id: shop id from ym_get_campaigns. status: filter, e.g. PROCESSING | DELIVERY | PICKUP | DELIVERED | CANCELLED | UNPAID (comma-separated allowed). Empty = all. from_date: order creation date lower bound, DD-MM-YYYY (Yandex format). to_date: upper bound, DD-MM-YYYY. page_token: pageToken from a previous page. limit: page size (<=50). Returns JSON: {"ok": true, "data": {"orders": [...], "paging": {...}}}. For every order across pages use ym_fetch_all with ym_get_orders.
ym_get_pricesYandex Market pricesread-onlyBase prices set for all shops of the cabinet (POST /v2/businesses/{businessId}/offer-prices). Args: business_id: cabinet id. offer_ids: comma-separated offerId filter; empty = all. page_token: pageToken from a previous page. limit: page size (<=200). Returns JSON with result.offers[].price {value, currencyId, discountBase, updatedAt}.
ym_get_stocksYandex Market stocksread-onlyStock per offer per warehouse for one shop, with optional turnover (POST /v2/campaigns/{campaignId}/offers/stocks). Args: campaign_id: shop id. offer_ids: comma-separated offerId filter; empty = all. with_turnover: also return turnover (оборачиваемость) per offer. page_token: pageToken from a previous page. limit: page size (<=200). Returns JSON: {"ok": true, "data": {"result": {"warehouses": [{"warehouseId", "offers": [...]}]}}}.
ym_set_priceYandex Market set priceSet the base price of ONE offer for all shops of the cabinet (POST /v2/businesses/{businessId}/offer-prices/updates). WRITE. Requires confirm_write=true. discount_base is the strikethrough price (must be higher than price); 0 = no discount shown. Args: business_id: cabinet id. offer_id: seller's SKU (offerId). price: new price, e.g. 1499. discount_base: pre-discount price, or 0 to clear. currency: RUR (default) — Yandex uses "RUR", not "RUB". confirm_write: must be true to send. Returns JSON: {"ok": true, "data": {"status": "OK"}} on success.
Signals
- Stars
- 52
- Forks
- 15
- Open issues
- 0
- Contributors
- 3
- Weekly downloads
- 255
- Last commit
- Oct 7, 2026 (23 days ago)
- Last release
- Sep 14, 2026 (1 month ago)
- Last package publish
- Sep 14, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.ilyautov/marketplaces-mcp-ru- Version
- 0.6.1
- Auth
- API key
- Packages
- npm marketplaces-mcp-rupypi marketplaces-mcp-ruoci
ghcr.io/ilyautov/marketplaces-mcp-ru:0.6.1 - License
- MIT
- Repository
- github.com/ilyautov/marketplaces-mcp-ru
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from ilyautov
- 0.813score
humanizer-ru
ilyautov
Редактура русского текста без следов нейросети.
SkillAFreshness: A★ 486Claude Code +9 - 0.802score
humanizer-ru
ilyautov
Следы нейросети в русском тексте: балл чистоты 0-100, запреты и маркеры с позициями, факт-замок.
ConnectorAFreshness: ALocalRead-only★ 486↓ 1K/wkClaude Code +5 - 0.672score
humanizer-ru-local-edit
ilyautov
Use when a user asks to edit Russian prose that sounds formulaic or machine-generated while preserving its meaning and authorial voice.
SkillAFreshness: A★ 486Claude Code +9 - 0.672score
humanizer-ru-local-edit-scope
ilyautov
Use when a user asks to edit Russian prose that sounds formulaic or machine-generated while preserving its meaning and authorial voice.
SkillAFreshness: A★ 486Claude Code +9 - 0.647score
tax-prep
ilyautov
Готовит материалы к налоговому периоду — расчёт авансового платежа по УСН, учёт выплат подрядчикам (ГПХ/самозанятым), страховые взносы ИП «за себя» или…
SkillAFreshness: A★ 25Claude Code - 0.644score
run-campaign
ilyautov
Запускает маркетинговую кампанию от начала до конца — анализ продаж, контент-бриф, генерация макетов, постановка рассылки в очередь.
SkillAFreshness: A★ 25Claude Code
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito. Agent Mart. https://agentmart.dev/connectors/ilyautov-marketplaces-mcp-ru (last updated 2026-10-24)