mcpField
Y
Yandex Merchants MCP

Yandex Merchants MCP

本地服务
github.com商业与营销04 周前更新

关于 Yandex Merchants MCP

Yandex Merchants MCP 将 AI 应用连接到 Yandex 商品合作伙伴 API,供管理已上传 YML 商品源的商家使用。它可直接调整商品价格、折扣和展示状态,无需重新上传整个商品源。

主要功能

  1. 01检查账户并列出商品源
  2. 02修改单件或批量商品价格
  3. 03设置商品折扣价
  4. 04隐藏或恢复商品展示
  5. 05通过原始请求调用其他 API 方法
  6. 06校验写入结果状态

适用场景

  1. 01快速更正已上架商品价格
  2. 02为商品设置折扣和划线价
  3. 03隐藏缺货商品并在补货后恢复
  4. 04批量调整商品价格

MCP 相关

作为本地 MCP 服务,它向 AI 客户端提供连接账户、查看商品源及修改商品数据的工具。OAuth 令牌保存在本机。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"a1-x-tech-mcp-yandex-merchants": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-merchants"
],
"env": {
"YANDEX_MERCHANTS_OAUTH_TOKEN": "<YANDEX_MERCHANTS_OAUTH_TOKEN>",
"YANDEX_MERCHANTS_BASE_URL": "<YANDEX_MERCHANTS_BASE_URL>",
"YANDEX_MERCHANTS_TIMEOUT_MS": "<YANDEX_MERCHANTS_TIMEOUT_MS>",
"YANDEX_MERCHANTS_MAX_RETRIES": "<YANDEX_MERCHANTS_MAX_RETRIES>"
}
}
}
}
启动命令npx -y mcp-yandex-merchants
需要配置的环境变量
YANDEX_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-yandex-merchants1.1.1

工具

13

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

A1 Яндекс Товары MCP

npm Glama CI License: MIT

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 启动,因此无需单独安装软件包。

  1. 将服务器添加到 AI 应用中——下方展开的是 Codex 示例,其他应用的说明收纳在可折叠部分中。
  2. 输入:“连接 Яндекс Товары。”助手会提供 Яндекс 登录链接,并请你发送验证码。如果你已在配置中设置 YANDEX_MERCHANTS_OAUTH_TOKEN,则无需执行此步骤。
  3. 检查连接:“检查 Яндекс Товары 的连接,并显示可用的 feed。”如果服务器返回了 feed 列表,就可以继续查看商品价格和可见性。
Codex

通过应用界面:

  1. 打开 Settings → MCP servers。

  2. 点击 Add server。

  3. 选择 STDIO,然后输入启动命令 npx -y mcp-yandex-merchants@latest。

  4. 点击 Save,然后点击 Restart。

通过命令行:

codex mcp add yandex-merchants -- npx -y mcp-yandex-merchants@latest

检查连接:

codex mcp list

然后在 Codex 聊天中输入:“连接 Яндекс Товары。”

Codex 官方说明

Claude Code
claude mcp add --transport stdio --scope user yandex-merchants -- npx -y mcp-yandex-merchants@latest

使用以下命令检查服务器:

claude mcp list

然后开始对话,请求连接 Яндекс Товары。

Claude Code 文档

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,打开新对话,并请求连接 Яндекс Товары。

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 聊天中的可用工具列表里。请求连接 Яндекс Товары,并通过 Яндекс 登录。

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 检查服务器是否启动,然后打开聊天并请求连接 Яндекс Товары。

VS Code 文档

这是一个本地 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 товара и новые значения, а выполнить его — только после следующей команды.

Подключение и настройка

Для обычного использования токен заранее не нужен:

  1. В чате попросите подключить Яндекс Товары.
  2. Откройте ссылку на Яндекс OAuth строго под тем логином Яндекса, под которым загружен YML-фид — токен другого логина не увидит ни одного фида.
  3. Подтвердите доступ и пришлите код ассистенту. Код одноразовый и действует 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_IDClientID собственного 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-приложение вызывает его. Если приложение поддерживает задания по расписанию, можно попросить его периодически проверять доступ или выполнять заранее заданный сценарий.

Техническая документация

Поддержка

Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。