Yandex Merchants MCP
This Yandex Merchants MCP server lets AI clients manage product offers in Yandex Товары without editing the YML feed.
Check access (
check_access): Verify OAuth token and get feed count.List feeds (
list_feeds): Retrieve feed IDs and URLs.Set single offer price (
set_offer_price): Update price, with optional discount base and special payment prices (Yandex Pay, SBP, Ozon Card).Bulk update prices (
update_offer_prices): Update 1–2,000 offers at once.Set discount (
set_offer_discount): Apply discount (5–95%) with strikethrough price.Hide offers (
hide_offerfor one,hide_offersfor up to 500): Temporarily remove from search, optional TTL up to 720 hours.Show offers (
show_offers): Restore visibility of up to 500 hidden offers.Raw API call (
raw_request): Custom GET/POST/DELETE operations on any Partner API endpoint.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Yandex Merchants MCPПокажи мои товарные фиды и поставь на товар SKU-123 цену 1490 ₽"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Яндекс Товары MCP
A1 Яндекс Товары MCP подключает AI-приложение к партнёрскому API Яндекс Товаров. Можно обычными словами менять цены, скидки и видимость отдельных товаров — без редактирования и повторной загрузки всего YML-фида. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.
13 готовых действий. Подключение аккаунта прямо из диалога, проверка доступа, список фидов, цены, скидки, скрытие и возврат товаров, а также прямой вызов остальных методов API.
Для одного товара и больших списков. За один запрос можно изменить цены у 2 000 товаров или скрыть и вернуть до 500 товаров.
Точечные изменения. Сервер работает с уже загруженным YML-фидом и не создаёт фиды заново.
Проверяемый результат. Запись считается успешной только при
status: "OK"в ответе Яндекс Товаров.Работает локально. Сервер запускается через
npx; OAuth-токен остаётся на вашем компьютере.
Попробуйте первым сообщением:
Проверь подключение к Яндекс Товарам и покажи доступные фиды.
Подключить сервер · Посмотреть сценарии · Открыть техническую документацию
Увидеть работу за минуту
Вы: Проверь подключение и покажи мои фиды.
Ассистент: Проверяет токен и показывает
feedIdи адрес каждого доступного фида.Вы: В фиде 1069 подготовь новую цену для SKU-123: 1 490 ₽ вместо 1 990 ₽. Сначала покажи изменение.
Ассистент: Подготовлено: фид 1069, товар SKU-123, новая цена 1 490 ₽, зачёркнутая цена 1 990 ₽. Отправить изменение?
Вы: Да, обнови.
Ассистент: Отправляет изменение и проверяет поле
statusв ответе. Операция завершена, если Яндекс Товары вернулиstatus: "OK".
Related MCP server: io.github.dontsovcmc/ozon-seller
Содержание
Быстрый старт
Понадобятся Node.js 20 или новее, загруженный в Яндекс Товары YML-фид и логин Яндекса, под которым этот фид загружен. Сервер запускается через npx, поэтому отдельно устанавливать пакет не требуется.
Добавьте сервер в AI-приложение — ниже открыт пример для Codex, остальные приложения собраны в сворачиваемые инструкции.
Напишите: «Подключи Яндекс Товары». Ассистент даст ссылку на вход в Яндекс и попросит прислать код подтверждения. Если вы задали
YANDEX_MERCHANTS_OAUTH_TOKENв конфигурации, этот шаг не нужен.Проверьте подключение: «Проверь подключение к Яндекс Товарам и покажи доступные фиды». Если сервер вернул список фидов, можно переходить к ценам и видимости товаров.
Через интерфейс приложения:
Откройте Settings → Plugins → MCP servers.
Нажмите Add server.
Добавьте команду запуска
npx -y mcp-yandex-merchants@latest.
Через командную строку:
codex mcp add yandex-merchants -- npx -y mcp-yandex-merchants@latestПроверьте подключение:
codex mcp listЗатем в чате Codex попросите: «Подключи Яндекс Товары».
claude mcp add --transport stdio --scope user yandex-merchants -- npx -y mcp-yandex-merchants@latestПроверьте сервер командой:
claude mcp listЗатем начните диалог с просьбы подключить Яндекс Товары.
Откройте Settings → Developer → Edit Config и добавьте сервер в claude_desktop_config.json:
{
"mcpServers": {
"yandex-merchants": {
"command": "npx",
"args": ["-y", "mcp-yandex-merchants@latest"]
}
}
}Если кнопки Edit Config нет, откройте файл напрямую:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
После сохранения перезапустите Claude Desktop, откройте новый диалог и попросите подключить Яндекс Товары.
Для всех проектов создайте ~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json); только для текущего проекта — .cursor/mcp.json:
{
"mcpServers": {
"yandex-merchants": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-yandex-merchants@latest"]
}
}
}В чате Cursor сервер появится среди доступных инструментов. Попросите подключить Яндекс Товары и пройдите вход через Яндекс.
Откройте палитру команд и выполните MCP: Open User Configuration. Добавьте в mcp.json:
{
"servers": {
"yandex-merchants": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-yandex-merchants@latest"]
}
}
}Проверьте запуск командой MCP: List Servers, затем откройте чат и попросите подключить Яндекс Товары.
Это локальный MCP-сервер: приложение запускает
npxна вашем компьютере. Веб-версии ChatGPT и Claude сами по себе не могут запустить такой процесс — используйте настольное приложение, CLI или редактор с поддержкой локальных MCP-серверов.
Что можно поручить
Проверить подключение и выбрать фид
Проверить токен. Убедиться, что сервер видит аккаунт, —
check_access.Показать доступные фиды. Получить
feedIdи адрес каждого фида —list_feeds.
feedId понадобится для любого изменения. API не показывает состав фида, его статус и текущие значения товаров.
Изменить цены и скидки
Поменять цену одного товара —
set_offer_price.Обновить цены списком до 2 000 товаров за один запрос —
update_offer_prices.Задать скидку с новой и зачёркнутой ценой —
set_offer_discount.Добавить специальную цену для Яндекс Пэй, СБП или карты Ozon —
set_offer_price.
Цены передаются только в рублях. Если в одном фиде несколько предложений с одинаковым id, API изменит только первое.
Скрыть или вернуть товары
Скрыть один товар —
hide_offer.Скрыть до 500 товаров одной командой —
hide_offers.Вернуть до 500 товаров в показ —
show_offers.
Товар можно скрыть бессрочно или на срок до 720 часов. При бессрочном скрытии он останется невидимым до отдельной команды на возврат.
Вызвать остальные методы API
raw_request позволяет обратиться к методу партнёрского API, для которого нет отдельного готового действия. Он поддерживает GET, POST и DELETE и принимает данные в исходном формате API.
raw_requestможет изменить реальные данные. Если нужное действие уже есть среди готовых инструментов, безопаснее использовать его.
Полные названия полей, форматы ответов и коды ошибок собраны в справочнике инструментов.
Как это работает
Сервер не создаёт, не удаляет и не загружает фиды. Он берёт feedId уже существующего YML-фида и отправляет в Яндекс Товары точечные изменения для указанных товаров.
Это удобно, когда нужно быстро:
исправить одну или несколько цен;
поставить скидку;
скрыть закончившийся товар;
вернуть товар в показ.
Сам YML-фид по-прежнему управляется через кабинет Яндекс Товаров или Вебмастер. Содержимое фида сервер прочитать не может, поэтому id товаров и журнал изменений нужно хранить на своей стороне.
Что может изменить данные
Действие | Что происходит | Меняет данные |
| Проверяет токен и показывает id и адреса фидов | Нет |
| Меняет цену одного товара | Да |
| Меняет цены у 1–2 000 товаров | Да |
| Скрывает один или несколько товаров | Да |
| Возвращает скрытые товары в показ | Да |
| Выполняет выбранный вызов API | Зависит от метода |
Сервер снижает риск ошибок следующим образом:
проверяет обязательные поля, размеры списков, длину id, положительные цены и диапазон скидки до отправки запроса;
проверяет
statusв теле ответа, потому что HTTP 200 ещё не означает успешную запись;не повторяет запись автоматически после ошибки сервера или обрыва связи;
не позволяет
raw_requestотправить OAuth-токен на посторонний адрес;сообщает AI-приложению, какие действия читают данные, а какие их изменяют.
Подтверждение перед записью зависит от AI-приложения. Если хотите сначала проверить значения, попросите ассистента подготовить изменение, показать
feedId, id товара и новые значения, а выполнить его — только после следующей команды.
Подключение и настройка
Для обычного использования токен заранее не нужен:
В чате попросите подключить Яндекс Товары.
Откройте ссылку на Яндекс OAuth строго под тем логином Яндекса, под которым загружен YML-фид — токен другого логина не увидит ни одного фида.
Подтвердите доступ и пришлите код ассистенту. Код одноразовый и действует 10 минут.
Сервер использует PKCE: код из чата сам по себе нельзя обменять на токен — это может сделать только ваш запущенный сервер. Он запрашивает единственное право — products:partner-api («API поиска по товарам»). Полученный токен хранится локально в ~/.config/mcp-yandex-merchants/credentials.json с правами только для владельца и продлевается автоматически. Перезапускать AI-приложение после входа не нужно.
Проверить состояние — попросите «покажи статус подключения», отключить — «отключи Яндекс Товары». Выданный доступ отзывается в Яндекс ID.
Для CI и нестандартных установок доступна настройка через переменные окружения:
Переменная | Назначение |
| Готовый OAuth-токен с доступом |
| ClientID собственного OAuth-приложения для входа из диалога вместо приложения A1 по умолчанию. |
| Корневой адрес API; по умолчанию |
| Таймаут одного запроса; по умолчанию 60 000 мс. |
| Число повторов при |
Если используете собственное OAuth-приложение, зарегистрируйте его на oauth.yandex.ru/client/new (платформа «Веб-сервисы», Redirect URI https://oauth.yandex.ru/verification_code) и добавьте доступ products:partner-api — «API поиска по товарам». Готовый токен для YANDEX_MERCHANTS_OAUTH_TOKEN выдаёт страница https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>, открытая под логином, который загрузил YML-фид. Храните токен как пароль: не добавляйте конфигурацию с реальным токеном в Git и не отправляйте её посторонним.
Данные и телеметрия
Сервер запускается на вашем компьютере и напрямую обращается к https://yandex.ru/products/api/ext/partner. OAuth-токен добавляется только к запросам этого API: даже raw_request принимает относительный путь и не может отправить токен на другой сайт. При входе из диалога сервер дополнительно обращается к oauth.yandex.ru — только чтобы обменять код подтверждения на токен и продлевать его.
По умолчанию сервер отправляет на usage.gistrec.cloud анонимную техническую телеметрию: случайный идентификатор установки, имя события или инструмента, версию пакета, версию Node.js, ОС и сведения о подключившемся AI-клиенте. В неё не попадают OAuth-токен, данные аккаунта, id фидов и товаров, цены, аргументы инструментов и тексты запросов. Отправка выполняется в фоне и не влияет на работу сервера.
Чтобы отключить телеметрию для MCP-серверов A1, задайте переменную окружения:
ASKADS_TELEMETRY=0Ограничения
Нельзя прочитать текущее состояние товаров. API не возвращает текущие цены, список скрытых товаров, содержимое или статус фида. Храните журнал изменений на своей стороне.
Нельзя управлять самими фидами. Создать, удалить или перезагрузить YML-фид можно только в кабинете или Вебмастере.
Только рубли. Другие валюты API не принимает.
Id товара — до 50 символов. Более длинный идентификатор API не примет.
До 2 000 цен за запрос. Для скрытия и возврата — до 500 товаров за запрос.
До 50 000 операций в минуту. Отдельно считаются изменения цен и общая сумма скрытий с возвратами.
Нет автоматического отката. После обрыва связи результат записи может остаться неизвестным, а прочитать состояние через этот API нельзя. Не повторяйте такую операцию автоматически.
Нет постоянного наблюдения. Сервер работает только тогда, когда AI-приложение вызывает его. Если приложение поддерживает задания по расписанию, можно попросить его периодически проверять доступ или выполнять заранее заданный сценарий.
Техническая документация
Каталог MCP-возможностей — страницы по пользовательским задачам для каждого инструмента.
Все инструменты — параметры, ответы, коды ошибок и ограничения.
Документация по разработке — локальный запуск, проверки и сборка.
Публикация — выпуск npm-пакета и публикация в каталогах MCP.
Поддержка
Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.
Maintenance
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for Yandex Metrica analytics: query web analytics metrics, goals, conversions, and raw API data using natural language from AI clients like Claude and Cursor.81231MIT
- AlicenseAqualityDmaintenanceMCP server for Ozon Seller API, enabling product, order, finance, and analytics management via natural language or CLI.32MIT
- AlicenseAqualityDmaintenanceMCP server for Wildberries Seller API enabling management of products, orders, supplies, analytics, advertising, and finance through natural language commands.32MIT
- AlicenseAqualityCmaintenanceMCP server for Yandex Eats Vendor Management API, enabling AI agents to manage partner operations like orders, busy mode, menu import, and feedback.1110MIT
Related MCP Connectors
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
MCP for Yandex Direct: manage ad campaigns & analytics from Claude or ChatGPT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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