SuperAPI AI Directory

mcp-yandex-merchants

Yandex Merchants API: product feeds, offer prices, discounts and hiding or unhiding offers in Yandex Search.

Open website

About this tool

Purpose

mcp-yandex-merchants is an MCP (Model Context Protocol) server used to connect AI applications to the Yandex Merchants (Яндекс Товары) partner API. The core problem it solves is: without re-editing, regenerating, or re-uploading the entire YML product feed, use natural language to make point-to-point modifications to products in an already uploaded product feed, such as changing prices, setting discounts, or hiding or restoring product visibility.

Main capabilities

The server provides 13 preset operations, covering the following scenarios:

  • Connection and checks: connect directly to a Yandex account from the conversation, check access permissions (check_access), and list available product feeds (list_feeds).
  • Prices and discounts: modify the price of a single product (set_offer_price), update the prices of up to 2000 products in bulk (update_offer_prices), set a discount with a new price and a strikethrough price (set_offer_discount), and set special prices for Yandex Pay, SBP, or Ozon card.
  • Product visibility: hide a single product (hide_offer), hide up to 500 products at once (hide_offers), and restore the visibility of up to 500 products (show_offers). Products can be hidden permanently, or hidden for up to 720 hours.
  • Direct API calls: raw_request supports GET, POST, and DELETE, and can call partner API methods that do not have preset operations, accepting data in the API's raw format.

Before sending requests, the server validates required fields, list sizes, ID lengths, that prices are positive, and discount ranges; it also checks the status field in the response body, because HTTP 200 does not mean the write succeeded. It does not automatically retry writes after a server error or connection interruption, and it does not allow raw_request to send OAuth tokens to external addresses.

How to use

Requires Node.js 20 or higher, a YML product feed already uploaded to Yandex Merchants, and the Yandex login account used to upload that product feed. The server is started via npx, with no separate package installation required.

After adding the server in an AI application, request in the conversation "connect Yandex merproduct", the assistant will provide a Yandex login link and request a confirmation code. The confirmation code is valid once and remains valid for 10 minutes. The server uses PKCE, the token is stored only locally in ~/.config/mcp-yandex-merchants/credentials.json, with owner-only permissions, and is renewed automatically. If YANDEX_MERCHANTS_OAUTH_TOKEN is already set in the configuration, this step can be skipped.

After connecting, you can verify via "Check the connection to Yandex products and display available product feeds"; once the list of product feeds is returned, you can perform price and visibility operations.

Different AI applications are configured in different ways: Codex can add a STDIO server via Settings → MCP servers, with the command npx -y mcp-yandex-merchants@latest; Claude Code, Claude Desktop, Cursor, VS Code, etc. also have their own configuration paths. This server is a local MCP server; the web versions of ChatGPT and Claude cannot start such processes themselves, so you need to use the desktop app, CLI, or an editor that supports local MCP servers.

Use cases

Suitable for scenarios where you need to quickly correct one or more prices, set discounts, hide sold-out products, or restore product visibility. The YML product feed itself is still managed through the Yandex product backend or Webmaster.

Limitations

  • Cannot read the current state of products: the API does not return current prices, hidden product lists, product feed contents, or status, so you need to keep your own change log.
  • Cannot manage the product feed itself: creating, deleting, or reloading a YML product feed can only be done in the backend or Webmaster.
  • Only rubles are supported; the API does not accept other currencies.
  • Product IDs are up to 50 characters long.
  • A single request supports up to 2000 prices; hiding and restoring support up to 500 products each time.
  • Up to 50000 operations per minute; price changes and hide/restore are counted separately.
  • No automatic rollback: after a connection interruption, the write result may be unknown, and the status cannot be read through this API, so such operations should not be retried automatically.
  • No continuous monitoring: the server runs only when the AI application calls it.

By default, the server sends anonymous technical telemetry data to usage.gistrec.cloud, including a random installation identifier, event or tool names, package version, Node.js version, operating system, and information about the connected AI client. It does not include OAuth tokens, account data, product feed and product IDs, prices, tool parameters, or request text. Telemetry can be disabled via an environment variable.