Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 52
Write a review

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.

Book a call

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.

We use your email only for this newsletter. Privacy

About

Wildberries, Ozon, Yandex Market & Avito seller APIs for AI assistants: schema-driven, safety-gated.

Use cases: ecommerce, api-integration

No 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_balance
  • avito_get_chats
  • avito_get_item_stats
  • avito_get_items
  • avito_get_orders
  • avito_get_reviews
  • avito_get_stocks
  • avito_whoami
  • ozon_get_fbs_unfulfilled
  • ozon_get_prices
  • ozon_get_products
  • ozon_get_stocks
Show 9 more tools
  • wb_get_new_orders
  • wb_get_prices
  • wb_get_sales
  • wb_get_stocks
  • ym_get_campaigns
  • ym_get_offers
  • ym_get_orders
  • ym_get_prices
  • ym_get_stocks

Write 5 · Create, change, send or run things.

  • avito_update_price
  • avito_update_stock
  • ozon_set_price
  • wb_set_price
  • ym_set_price

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • AVITO_CLIENT_SECRET
  • OZON_API_KEY
  • OZON_PERF_CLIENT_SECRET
  • WB_API_TOKEN
  • YANDEX_MARKET_API_KEY

Other settings (environment variables or headers).

  • AVITO_CLIENT_ID
  • OZON_CLIENT_ID
  • OZON_PERF_CLIENT_ID

Network hosts it talks to 16

  • aifrontier.tech · found in code
  • api-performance.ozon.ru · found in code
  • api.avito.ru · found in code
  • business-mcp-ru.aifrontier.tech · found in code
  • dev.wildberries.ru · found in code
  • developers.avito.ru · found in code
  • docs.astral.sh · found in code
  • docs.ozon.ru · found in code
  • fonts.googleapis.com · found in code
  • fonts.gstatic.com · found in code
  • github.com · found in code
  • ilyautov.github.io · found in code
  • marketplaces-mcp-ru.aifrontier.tech · found in code
  • sitemaps.org · found in code
  • t.me · found in code
  • yandex.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-only

    Wallet balance: real money and bonuses (GET /core/v1/accounts/{user_id}/balance/). Returns JSON: {"ok": true, "data": {"real": ..., "bonus": ...}}.

  • avito_get_chatsAvito chatsread-only

    Buyer 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-only

    Views / 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-only

    List 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-only

    Orders 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-only

    Published 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-only

    Stock 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 price

    Set 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 stock

    Set 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-only

    Authorized 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-only

    List 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-only

    Get 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-only

    List 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-only

    Get 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 price

    Set 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-only

    Get 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-only

    Get 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-only

    Get 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-only

    Get 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/discount

    Set 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-only

    List 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-only

    List 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-only

    List 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-only

    Base 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-only

    Stock 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 price

    Set 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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ilyautov

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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito?

CallGet help
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)