关于 Yandex Merchants MCP
Yandex Merchants MCP 将 AI 应用连接到 Yandex 商品合作伙伴 API,供管理已上传 YML 商品源的商家使用。它可直接调整商品价格、折扣和展示状态,无需重新上传整个商品源。
主要功能
- 01检查账户并列出商品源
- 02修改单件或批量商品价格
- 03设置商品折扣价
- 04隐藏或恢复商品展示
- 05通过原始请求调用其他 API 方法
- 06校验写入结果状态
适用场景
- 01快速更正已上架商品价格
- 02为商品设置折扣和划线价
- 03隐藏缺货商品并在补货后恢复
- 04批量调整商品价格
MCP 相关
作为本地 MCP 服务,它向 AI 客户端提供连接账户、查看商品源及修改商品数据的工具。OAuth 令牌保存在本机。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mcp-yandex-merchantsYANDEX_MERCHANTS_OAUTH_TOKEN密钥Yandex OAuth token with the products:partner-api scope, obtained under the login that uploaded the feed. Treat it as a secret.YANDEX_MERCHANTS_BASE_URLAPI root override.YANDEX_MERCHANTS_TIMEOUT_MSPer-request timeout in milliseconds.YANDEX_MERCHANTS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for GET only).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
13收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Яндекс Товары 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".
Содержание
- Быстрый старт
- Что можно поручить
- Как это работает
- Что может изменить данные
- Подключение и настройка
- Данные и телеметрия
- Ограничения
- Техническая документация
- Поддержка
快速开始
需要 Node.js 20 或更高版本、已上传到 Яндекс Товары 的 YML feed,以及上传该 feed 时使用的 Яндекс 登录账号。服务器通过 npx 启动,因此无需单独安装软件包。
- 将服务器添加到 AI 应用中——下方展开的是 Codex 示例,其他应用的说明收纳在可折叠部分中。
- 输入:“连接 Яндекс Товары。”助手会提供 Яндекс 登录链接,并请你发送验证码。如果你已在配置中设置
YANDEX_MERCHANTS_OAUTH_TOKEN,则无需执行此步骤。 - 检查连接:“检查 Яндекс Товары 的连接,并显示可用的 feed。”如果服务器返回了 feed 列表,就可以继续查看商品价格和可见性。
Codex
通过应用界面:
-
打开 Settings → MCP servers。
-
点击 Add server。
-
选择 STDIO,然后输入启动命令
npx -y mcp-yandex-merchants@latest。 -
点击 Save,然后点击 Restart。
通过命令行:
codex mcp add yandex-merchants -- npx -y mcp-yandex-merchants@latest
检查连接:
codex mcp list
然后在 Codex 聊天中输入:“连接 Яндекс Товары。”
Claude Code
claude mcp add --transport stdio --scope user yandex-merchants -- npx -y mcp-yandex-merchants@latest
使用以下命令检查服务器:
claude mcp list
然后开始对话,请求连接 Яндекс Товары。
Claude Desktop
目前官方推荐的路径是 Settings → Extensions。若要安装用户自定义的桌面扩展,请打开 Advanced settings → Extension Developer → Install Extension…,选择 .mcpb 文件并按照提示操作。
此仓库目前发布的是 stdio npm 包,暂不包含 .mcpb。因此,仅在仍支持本地配置的 Claude Desktop 版本中,将下方 JSON stdio 配置用作备用方案:
{
"mcpServers": {
"yandex-merchants": {
"command": "npx",
"args": ["-y", "mcp-yandex-merchants@latest"]
}
}
}
在这类版本中,请将其保存到 macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json,或 Windows 上的 %APPDATA%\Claude\claude_desktop_config.json。
保存后,重新启动 Claude Desktop,打开新对话,并请求连接 Яндекс Товары。
Cursor
若要用于所有项目,请创建 ~/.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 聊天中的可用工具列表里。请求连接 Яндекс Товары,并通过 Яндекс 登录。
VS Code
打开命令面板并运行 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 服务的编辑器。
可以交给它的任务
检查连接并选择 feed
- 检查令牌。 确认服务器能看到账号——
check_access。 - 显示可用的 feed。 获取每个 feed 的
feedId和地址——list_feeds。
任何更改都需要 feedId。API 不会显示 feed 的内容、状态和商品当前值。
Изменить цены и скидки
- Поменять цену одного товара —
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 товаров и журнал изменений нужно хранить на своей стороне.
Что может изменить данные
| Действие | Что происходит | Меняет данные |
|---|---|---|
check_access, list_feeds | Проверяет токен и показывает id и адреса фидов | Нет |
set_offer_price, set_offer_discount | Меняет цену одного товара | Да |
update_offer_prices | Меняет цены у 1–2 000 товаров | Да |
hide_offer, hide_offers | Скрывает один или несколько товаров | Да |
show_offers | Возвращает скрытые товары в показ | Да |
raw_request | Выполняет выбранный вызов 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 и нестандартных установок доступна настройка через переменные окружения:
| Переменная | Назначение |
|---|---|
YANDEX_MERCHANTS_OAUTH_TOKEN | Готовый OAuth-токен с доступом products:partner-api — для CI и установок без диалога. Имеет приоритет над входом из диалога; сервер такой токен не обновляет и не удаляет. |
YANDEX_MERCHANTS_OAUTH_CLIENT_ID | ClientID собственного OAuth-приложения для входа из диалога вместо приложения A1 по умолчанию. |
YANDEX_MERCHANTS_BASE_URL | Корневой адрес API; по умолчанию https://yandex.ru/products/api/ext/partner. |
YANDEX_MERCHANTS_TIMEOUT_MS | Таймаут одного запроса; по умолчанию 60 000 мс. |
YANDEX_MERCHANTS_MAX_RETRIES | Число повторов при 429; по умолчанию 3. При 5xx и сетевых ошибках повторяются только запросы на чтение. |
Если используете собственное 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.
- Пакет в npm.
- API Яндекс Товаров.
Поддержка
Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。