Skip to main content
Glama
A1-x-Tech

Yandex Merchants MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YANDEX_MERCHANTS_BASE_URLNoКорень API (override).https://yandex.ru/products/api/ext/partner
YANDEX_MERCHANTS_TIMEOUT_MSNoТаймаут запроса, мс.60000
YANDEX_MERCHANTS_MAX_RETRIESNoПовторы: 429 — всегда, 5xx/сеть — только GET.3
YANDEX_MERCHANTS_OAUTH_TOKENYesOAuth-токен Яндекса со scope products:partner-api.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
auth_statusA

Показывает, подключены ли Яндекс Товары: есть ли токен, откуда он взят (переменная окружения YANDEX_MERCHANTS_OAUTH_TOKEN или сохранённый вход), когда истекает и где лежит файл с сохранёнными данными. Ничего не отправляет в сеть и не показывает сам токен. Вызовите это, если инструменты отвечают, что подключение не настроено; живую проверку доступа к API делает check_access.

start_loginA

Первый шаг подключения Яндекс Товаров без правки конфигурации и без перезапуска клиента. Возвращает ссылку на страницу Яндекс OAuth. Покажите ссылку пользователю целиком и попросите: открыть её в браузере строго под тем логином Яндекса, под которым загружен YML-фид (токен другого логина не увидит ни одного фида), подтвердить доступ и прислать показанный код подтверждения. Токен выдаётся со scope products:partner-api. Полученный код передайте в finish_login. Код действует 10 минут. Сам по себе код бесполезен для постороннего: обменять его может только этот сервер.

finish_loginA

Второй шаг подключения: обменивает код подтверждения из start_login на токен доступа, сохраняет его в файл только для владельца (0600) и сразу проверяет живым запросом к списку фидов. После успеха остальные инструменты работают немедленно — перезапускать клиент не нужно. Если фидов не видно, вход, скорее всего, выполнен не под тем логином (нужен тот, что загрузил YML-фид). Код одноразовый и живёт 10 минут: если он не принят, вызовите start_login заново и попросите свежий.

logoutA

Удаляет сохранённый токен Яндекс Товаров с диска. Токен, заданный переменной окружения YANDEX_MERCHANTS_OAUTH_TOKEN, не трогает — его нужно убирать из конфигурации клиента вручную. Доступ, выданный приложению, остаётся активным на стороне Яндекса: отозвать его можно в Яндекс ID.

list_feedsA

Возвращает список товарных фидов, доступных текущему OAuth-логину: { status, feeds: [{ feedId, feedUrl }] }. Точка входа для всех остальных инструментов — их параметр feed_id берётся из feedId этого ответа. Больше API про фиды ничего не отдаёт: ни статуса фида, ни списка предложений (создание/удаление фида — только через кабинет или Вебмастер).

check_accessA

Диагностика подключения: выполняет тот же GET /feeds-info и возвращает { ok, feedsCount } либо { ok: false, error }. Отдельного ping-эндпоинта в API нет. Если ok: false — проверьте, что OAuth-токен выдан со scope products:partner-api под тем логином, который загружал фид, и что права на сайт подтверждены в Вебмастере (API открывается через несколько часов после подтверждения).

set_offer_priceA

Изменяет цену одного товарного предложения (POST /offer-prices/updates c одним элементом). Валюта всегда RUR — подставляется автоматически. Опционально: discount_base — цена до скидки (покажется зачёркнутой; скидка должна попадать в 5–95%, иначе API вернёт 400), pay_by_price + pay_by_condition (только парой, вместе) — спеццена при условии оплаты. Ответ API: { status: "OK" } либо { status: "ERROR", errors: [{ code, message }] } — проверяйте status. Если в фиде несколько предложений с одинаковым id, цена обновится только у первого. Лимит: 50 000 изменений цен в минуту.

update_offer_pricesA

Массово обновляет цены: от 1 до 2000 предложений одним запросом (POST /offer-prices/updates). Валюта всегда RUR. Ответ API: { status: "OK" } либо { status: "ERROR", errors: [{ code, message }] }; возможные коды: DUPLICATE_OFFER, INVALID_FEED_ID, INVALID_OFFER_ID, LIMIT_EXCEEDED, REQUEST_LIMIT_EXCEEDED (больше 2000 в запросе). Лимит: 50 000 изменений цен в минуту. Для больших объёмов разбивайте на несколько вызовов.

set_offer_discountA

Устанавливает скидку: price — цена со скидкой, discount_base — старая цена, которая покажется зачёркнутой (тот же POST /offer-prices/updates, но discount_base обязателен). Скидка должна быть не меньше 5% и не больше 95% — проверяется до запроса, иначе API вернёт 400 Bad Request. Валюта всегда RUR. Ответ API: { status: "OK" } либо { status: "ERROR", errors: [...] }.

hide_offerA

Скрывает одно предложение из Поиска по товарам (POST /hidden-offers), например когда товар закончился. ttl_in_hours — необязательный срок скрытия в часах (максимум 720 = 30 дней, иначе ошибка INVALID_TTL); что делает повторное скрытие с новым ttl, дока API не описывает. Без ttl предложение скрыто до явного show_offers. Ответ API: { status: "OK" } либо { status: "ERROR", errors: [{ code, message }] }. Прочитать список уже скрытых предложений через API нельзя. Лимит: 50 000 операций скрытия/показа в минуту.

hide_offersA

Массово скрывает предложения из Поиска: от 1 до 500 за запрос (POST /hidden-offers). Общий ttl_in_hours (максимум 720 часов) применяется ко всем предложениям запроса. Ответ API: { status: "OK" } либо { status: "ERROR", errors: [...] }; коды: DUPLICATE_OFFER, INVALID_FEED_ID, INVALID_OFFER_ID, INVALID_TTL, LIMIT_EXCEEDED, REQUEST_LIMIT_EXCEEDED (больше 500 в запросе). Лимит: 50 000 операций скрытия/показа в минуту (общий с show_offers).

show_offersA

Возобновляет показ ранее скрытых предложений: от 1 до 500 за запрос (DELETE /hidden-offers с JSON-телом). Ответ API: { status: "OK" } либо { status: "ERROR", errors: [...] }; коды: DUPLICATE_OFFER, INVALID_FEED_ID, INVALID_OFFER_ID, REQUEST_LIMIT_EXCEEDED. Лимит: 50 000 операций скрытия/показа в минуту (общий с hide_offers).

raw_requestA

Запасной выход: прямой вызов любого пути партнёрского API Яндекс Товаров относительно базового URL (https://yandex.ru/products/api/ext/partner), например "feeds-info" или "offer-prices/updates". Методы API: GET (feeds-info), POST (offer-prices/updates, hidden-offers), DELETE (hidden-offers). body отправляется как JSON в готовом wire-формате API (например { offers: [...] } или { hiddenOffers: [...] }) — без преобразований.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/A1-x-Tech/mcp-yandex-merchants'

If you have feedback or need assistance with the MCP directory API, please join our Discord server