mcpField
H
Horoshop MCP

Horoshop MCP

本地服务
igorshutko.github.io商业与营销17 周前更新

关于 Horoshop MCP

Horoshop MCP 是面向 Horoshop 网店的非官方开源 MCP 服务,供 AI Agent 管理商品、订单和店铺设置。它可在本机运行,并通过单个服务连接多个店铺;写入操作提供预览与确认机制。

主要功能

  1. 01覆盖商品、订单与客户数据
  2. 02管理 SEO、重定向和站点地图
  3. 03配置市场平台商品 Feed
  4. 04支持多个店铺共用一个服务
  5. 05写入操作可先预览并复核

适用场景

  1. 01查看订单状态、金额和来源
  2. 02批量修改商品价格并准备回滚
  3. 03检查并更新分类 SEO 内容
  4. 04创建重定向并排查重复或循环

MCP 相关

它通过 MCP 向客户端提供 118 个 Horoshop 操作工具及预设工作流,覆盖公开 API、管理后台和店铺前台。服务在本机通过 stdio 运行。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbhoroshop-mcp.mcpb0.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Хорошоп MCP:面向 Хорошоп 商店的非官方 MCP 服务

乌克兰语 · 俄语 · 英语

CI License: MIT Node.js MCP Tools MCP Registry

Хорошоп MCP(horoshop-mcp):免费的开源 MCP 服务,可将 Claude、Cursor、Codex、Hermes Agent 等 AI Agent 连接到 Хорошоп 平台上的网店。服务运行在您的计算机上,可同时管理多家商店,并为 Agent 提供 118 个工具,用于管理商品目录、订单、SEO、重定向、市场平台 Feed、设计和商店设置。

非官方项目。 Хорошоп MCP 不是 Хорошоп 公司的产品,与该公司无关,也不受其支持。管理后台工具通过 Хорошоп 可能随时更改且不另行通知的内部未公开请求运行。请先在测试商店中验证新操作,然后再在正式商店中执行。

  • 118 个工具,涵盖三个层级:Хорошоп 公开 API、管理后台和店面购物车。
  • 多家商店,一个服务。 每个工具都接受 store 参数,因此代理机构可以通过一个连接管理所有客户的商店。
  • 默认安全。 71 个写入工具中有 57 个只会显示变更计划,除非您传入 dryRun:false;高风险批量操作需要明确确认;每次写入都会通过重新读取结果来验证。
  • 本地运行。 服务通过 stdio 在您的计算机上运行。访问凭据保存在由您控制的文件中。

目录

项目主页:igorshutko.github.io/horoshop-mcp

文档:22 个客户端的安装指南 · 包含所有参数的工具参考(英文) · 内部结构及平台特性(英文)。

快速入门

1. 所需条件。 Node.js 18 或更高版本,以及 Git。

2. 访问凭据。 在商店管理后台创建一个单独的管理员(俄语界面中的「Настройки → Админы」部分,点击「Добавить」按钮),并保存其登录名和密码。同一组凭据可用于 API 和管理后台工具。详情请见:如何获取 Хорошоп 的访问凭据。

3. stores.json。 将文件保存在他人无法访问的位置:

{
  "myshop": { "baseUrl": "https://myshop.com.ua", "login": "api-user", "password": "REPLACE_ME" }
}

4. 连接 AI 客户端。 无需克隆代码库。

Claude Desktop,最简单的方式: 从发布页面下载 horoshop-mcp.mcpb 并打开文件。Claude Desktop 会自动安装服务,并询问您的 stores.json 所在位置。无需使用终端。

其他客户端通过 npx 启动服务。

Claude Code:

claude mcp add horoshop -s user -e HOROSHOP_STORES_FILE=/abs/path/to/stores.json -- npx -y github:IgorShutko/horoshop-mcp

Codex:

codex mcp add horoshop --env HOROSHOP_STORES_FILE=/abs/path/to/stores.json -- npx -y github:IgorShutko/horoshop-mcp

Cursor (~/.cursor/mcp.json)、Claude Desktop (claude_desktop_config.json)、Windsurf、LM Studio、Kiro 以及大多数其他客户端:

{
  "mcpServers": {
    "horoshop": {
      "command": "npx",
      "args": ["-y", "github:IgorShutko/horoshop-mcp"],
      "env": { "HOROSHOP_STORES_FILE": "/abs/path/to/stores.json" }
    }
  }
}

若要固定具体版本,请在地址末尾添加标签:github:IgorShutko/horoshop-mcp#v0.2.0。

在 Windows 上,请使用 "command": "cmd", "args": ["/c", "npx", "-y", "github:IgorShutko/horoshop-mcp"]。首次启动时会下载并构建软件包,大约需要 20 秒。VS Code、Zed、Hermes Agent、Gemini CLI、OpenCode、Goose 及其他客户端有各自的配置格式:请参阅安装指南,其中也介绍了通过克隆进行安装以及客户端超时设置。

5. 试试看。 请 Agent:

  • 「显示我在 Хорошоп 上的商店,并检查授权是否有效。」
  • 「显示 myshop 中最新的 10 个订单,以及状态和金额。」
  • 「myshop 中有哪些商品缺货?显示货号、名称和价格。」
  • 「为 /shoes/ 分类设置乌克兰语和俄语的 SEO 标题与描述。只提供变更计划。」
  • 「根据这份旧 URL 列表创建 301 重定向。先显示变更计划。」

功能

方向工具数示例
配置与诊断2已连接商店列表、检查 API 授权
商品目录(公共 API)4导出和导入商品、关联照片、贴纸列表
订单(公共 API)3带有 UTM 和配送信息的订单、更改状态和付款、状态列表
类别、买家、套装5类别树、导出和导入买家、「一起购买」套装
付款、配送、货币5付款和配送方式、汇率
B2B 和 Webhook4买家群组、价格级别、事件订阅
商店前台6买家的真实购物车、使用优惠券、检查结账时的商品变体
管理后台:通用引擎6读取、保存或删除管理后台任意分区中的任意记录
管理后台:订单与分析8读取和编辑订单、取消或删除订单、按编号搜索、打印 TTN、销售仪表板
管理后台:商品、价格、照片9批量更改价格并可撤销、批量编辑和合并、库存余量、导入供应商价目表、按文件名导入照片
管理后台:属性与参考数据15类别属性方案、商品模板、数值参考数据及其翻译
管理后台:类别、页面、博客、横幅、筛选器12带 SEO 文本的类别和信息页面、博客文章、横幅、可编入索引的筛选页面
管理后台:SEO、sitemap、重定向11分页的 canonical 和 noindex、robots.txt、sitemap、检查循环和重复项的 301 重定向
管理后台:电商平台 Feed6Rozetka、Hotline、Google、Facebook 和 Kasta Feed:启用、映射、生成、检查
管理后台:设计与语言8主题设置、自定义 CSS、语言、界面翻译
管理后台:设置、营销、税务收据14商店联系方式和信息、结账方式、跟踪代码(GTM、Pixel、GA4)、优惠券、Checkbox 收据

每个工具、其访问级别和所有参数:工具手册(英文)。对于 Agent,使用 docs/tools.json 更方便:同一份列表,不含文本说明,每个工具对应一条简洁记录。

预设场景

为了省去用文字描述任务的麻烦,服务提供七个预设场景。客户端会以自己的列表展示这些场景:在 Claude Desktop 中,这是输入框里的「+」菜单;在 Claude Code 中,则是 /mcp 命令。选择一个场景,填写一两个字段,Agent 就会按照描述的操作顺序执行。

场景功能
商店检查访问权限、sitemap、robots、Feed 和销售情况。仅供读取。
类别 SEO两种语言的 Title、description 和 h1:先制定计划,确认后再写入。
缺少照片的商品有库存的商品优先显示:它们正在损失销售额。
订单汇总金额、状态、UTM 来源、最常见的商品。
电商平台 Feed已启用的项目、地址是否有效、库存、价格和类别映射缺失的位置。
批量创建 301 重定向检查循环和重复项,然后批量创建。
可撤销的价格更改范围、大幅变更警告、用于恢复价格的参数。

场景定义在 src/prompts.ts 中,并有意为 Agent 指定具体工具和操作步骤:模型无需猜测 Хорошоп 的运作方式,而是沿着经过验证的路径执行。

Налаштування

Сервер бере всі параметри зі змінних середовища.

ЗміннаЗа замовчуваннямПризначення
HOROSHOP_STORES_FILEнемаєШлях до JSON-файлу з магазинами (рекомендований спосіб).
HOROSHOP_STORESнемаєТой самий JSON прямо в змінній. Має пріоритет над файлом.
HOROSHOP_DEFAULT_STOREєдиний магазин, якщо він одинМагазин для викликів без store.
HOROSHOP_TIMEOUT_MS120000Тайм-аут одного HTTP-запиту до магазину.
HOROSHOP_MAX_RESPONSE_BYTES100000Відповіді інструментів читання, більші за цей розмір, не повертаються: сервер натомість підказує, як звузити запит. Також приймається стара назва HOROSHOP_EXPORT_MAX_BYTES.
HOROSHOP_WIDGET_RETRYувімкненоoff вимикає автоматичний повтор ідемпотентних записів через віджети адмінки (див. обмеження платформи).
HOROSHOP_GRID_REPAIR_MAXрозраховується для кожного списку, не більше 60Скільки додаткових сторінок можна перечитати, якщо довгий список в адмінці зсувається під час читання.
HOROSHOP_IMPORT_POST_LIMIT120000Максимум байтів в одному запиті catalog/import; більші імпорти діляться автоматично.

Формат файлу з магазинами:

{
  "myshop": { "baseUrl": "https://myshop.com.ua", "login": "api-user", "password": "REPLACE_ME" },
  "othershop": { "baseUrl": "othershop.ua", "login": "api-user", "password": "REPLACE_ME" }
}

Ключ задає назву, яку потім передають як store. baseUrl може бути просто доменом, зі слешем у кінці або з /api. Якщо конфігурації немає, сервер усе одно запускається і показує інструменти, а виклики пояснюють, чого бракує. Файл з помилкою зупиняє сервер зі зрозумілим повідомленням.

Захист від помилкових змін

  • Спершу план. 57 з 71 інструмента запису за замовчуванням працюють з dryRun і повертають план: що зміниться, з якого значення і на яке. Нічого не записується, доки ви не повторите виклик з dryRun:false.
  • Підтвердження для незворотних і масових дій. Видалення або скасування замовлень, видалення довідників, зміна аліасу фіду (це публічна адреса фіду) та запуск імпорту прайсу вимагають явного confirm. horoshop_admin_products_price_set не приймає нульову чи від'ємну ціну, для понад 50 товарів вимагає точну кількість товарів, для змін понад 50% окреме підтвердження, і повертає готові параметри для відкату.
  • Перевірка читанням. Інструменти запису перечитують результат, часто іншим каналом (наприклад, запис через адмінку перевіряється через публічний API), бо Хорошоп інколи відповідає OK, нічого не зберігши.
  • Захист шаблонів. Тексти вітрини часто містять змінні на кшталт {DISCOUNT_PERCENT} чи {site}. Інструменти запису не замінять їх звичайним текстом без allowPlaceholderLoss:true.
  • Обмеження розміру. Інструменти читання вимірюють відповідь і не повертають понад 100 KB, а підказують, як звузити запит. Один виклик не засмітить розмову.
  • Секрети приховані. horoshop_admin_design_get не віддає розділ оплати і маскує значення, схожі на ключі; horoshop_list_stores ніколи не повертає доступи.
  • Анотації інструментів. Кожен інструмент позначений як читання, запис або руйнівний запис, тож клієнти, які це підтримують, можуть автоматично дозволяти читання і питати дозволу перед записом.

Обмеження платформи

Ці обмеження йдуть від платформи, а не від сервера, і виміряні на реальних магазинах:

  • У публічному API є імпорт, але немає видалення. Товари та покупців через /api/ можна створювати й оновлювати, але не видаляти; категорії там доступні лише для читання. Видалення і редагування категорій закривають інструменти адмінки.
  • Експорт каталогу віддає не більше 500 товарів за виклик, незалежно від limit. Гортайте через offset і limit (100 на сторінку працює добре).
  • Товари в замовленні змінити не можна ні через API, ні через адмінку. Одержувача, адресу, оплату й коментар менеджера змінити можна.
  • Окреме фото з галереї видалити не можна. Хорошоп не має такого маршруту.
  • Записи через віджети адмінки інколи губляться. Під час сплесків навантаження частина запитів потрапляє на вітрину замість адмінки, і нічого не зберігається. Ідемпотентні записи (оновлення, видалення) повторюються до п'яти разів, а пропуски потрапляють у звіт; створення не повторюється ніколи, щоб не з'явилися дублікати.
  • Відкриття замовлення в адмінці піднімає його на верх списку замовлень (платформа оновлює дату рядка). Дані замовлення не змінюються; інструменти відкривають редактор якомога рідше.
  • Дашборд аналітики показує фіксований період. Для довільних дат збирайте дані через horoshop_orders_get.
  • Деякі розділи існують, лише якщо в магазині підключено модуль, наприклад редактор власного CSS. Тоді horoshop_admin_css_get повертає available:false замість порожнього результату.

Повний список з подробицями: docs/INTERNALS.md (англійською).

Безпека

  • Тримайте доступи у файлі магазинів або в змінних середовища, ніколи не вставляйте їх у запити до агента чи в аргументи інструментів. stores*.json, резервні копії та файли .env додані до gitignore.
  • Створіть для сервера окремого адміністратора з найвужчою роллю, якої достатньо для роботи. Щоб закрити доступ, видаліть цього користувача.
  • Сервер звертається лише до налаштованих магазинів, до сервісу завантаження зображень Хорошопу, на який вказує адмінка під час імпорту фото, і до адрес зображень, які ви самі просите завантажити. Телеметрії немає.
  • API-токени та сесії адмінки зберігаються лише в пам'яті.
  • Повідомляючи про помилку, не вставляйте в issue реальні дані магазину, замовлень чи доступи.
  • Модель безпеки, перелік того, що маскується у відповідях, і куди писати про вразливість: SECURITY.md.

Як це працює

Сервер поєднує три канали до магазину:

flowchart TD
  AI["ШІ-клієнт<br/>Claude · Cursor · Codex · Gemini CLI"] -->|"MCP, stdio"| S["horoshop-mcp<br/>118 інструментів"]
  S --> G{"Це запис?"}
  G -->|"читання"| CH["Три канали до магазину"]
  G -->|"запис: спершу план,<br/>виконання лише з dryRun:false"| CH
  CH --> P["Публічний API<br/>каталог, замовлення, покупці"]
  CH --> A["Адмінка<br/>SEO, фіди, дизайн, налаштування"]
  CH --> V["Вітрина<br/>кошик і оформлення"]
  P --> ST["Ваш магазин на Хорошопі<br/>аргумент store обирає, який саме"]
  A --> ST
  V --> ST
  1. Публічний API (/api/<function>/): авторизація токеном, який кешується для кожного магазину й оновлюється непомітно. Використовується для каталогу, замовлень, покупців, довідкових даних, B2B і вебхуків.
  2. Адмінка: сесія через /core-api/admin/security/login, далі класичні екрани адмінки. Адмінка влаштована одноманітно і розрізняє розділи за параметром handler (тип сутності): списки, форми редагування, збереження. Реєстр цих типів дає невеликому універсальному ядру доступ майже до кожного розділу, а для частих задач є окремі інструменти. Запис читає всю форму, змінює лише потрібні поля і відправляє решту без змін, тож поля, яких ви не торкалися, зберігаються.
  3. Вітрина: власний віджет кошика магазину (/_widget/ajax_cart/) для питань, на які API не відповідає. Наприклад, чи зможе покупець дійти до оформлення замовлення з певним способом доставки.

Архітектура, структура проєкту та особливості платформи: docs/INTERNALS.md (англійською).

Часті запитання

Що таке Хорошоп MCP?

Хорошоп MCP реалізує протокол Model Context Protocol для інтернет-магазинів на Хорошопі. Підключений до нього ШІ-агент читає та змінює магазин через 118 інструментів: товари, замовлення, покупців, категорії, SEO-тексти, 301-редиректи, фіди маркетплейсів, дизайн і налаштування. Сервер з відкритим кодом працює локально й може обслуговувати кілька магазинів одночасно.

Хорошоп MCP 是 Хорошоп 的官方产品吗?

不是。Хорошоп MCP 由独立团队开发,与 Хорошоп 公司无关。服务使用 Хорошоп 的公开 API;对于 API 不支持的功能,则使用与后台管理界面相同的请求。这些内部请求随时可能发生变化,因此请在单独的测试商店中验证新场景。

哪些 AI 助手支持 Хорошоп MCP?

任何能够运行本地 stdio 服务的 MCP 客户端都可以使用。安装说明提供了 22 个客户端的分步配置指南,包括 Claude Code、Claude Desktop、Cursor、OpenAI Codex、Hermes Agent、搭配 GitHub Copilot 的 VS Code、Windsurf、Gemini CLI、Zed 和 Cline。

连接 Хорошоп 商店需要什么?

需要 Node.js 18 或更高版本、Git,以及 Хорошоп 商店管理员的登录名和密码。将凭据写入 stores.json,用一条命令将服务添加到 AI 客户端,然后等待约 20 秒,让首次启动完成构建。

允许 AI Agent 访问商店安全吗?

该服务正是为此设计的。71 个写入工具中,有 57 个只会显示操作计划,除非你传入 dryRun:false;不可逆操作需要明确提供 confirm,每次写入都会通过读取结果进行验证。凭据保存在本地文件中,不收集遥测数据。请为服务单独创建一个管理员账号,并赋予足以完成任务的最低权限角色。

可以通过一个服务管理多个商店吗?

可以。在同一个 stores.json 文件中列出所有商店,每次调用时通过 store 参数选择商店。这样,代理机构就能通过一个连接管理所有客户的商店。

Хорошоп MCP 的费用是多少?

Хорошоп MCP 免费提供,并采用 MIT 许可证。你只需支付自己的 Хорошоп 套餐费用,以及所使用的 AI 客户端费用。

开发

git clone https://github.com/IgorShutko/horoshop-mcp.git
cd horoshop-mcp
npm install          # installs dependencies and builds dist/
npm run watch        # recompile on change
npm run inspect      # build and open the MCP Inspector
npm run docs:tools   # regenerate docs/TOOLS.md from the running server

MCP 客户端只会启动一次服务,因此重新构建后,请重启客户端。如果磁盘上的构建版本比正在运行的进程更新,horoshop_check_auth 和 horoshop_list_stores 会返回 stale:true。

evaluation/horoshop_eval.xml 汇集了只读问题,用于检查模型能否通过服务处理实际任务。答案取决于连接的商店,因此请在自己的测试商店中填写答案。

npm test 会启动构建好的服务,并检查每个客户端所依赖的内容:118 个工具全部就绪、stdout 通道干净、每个工具都能路由到商店。CI 也会在 Node 18 和 22 上运行相同的命令。

欢迎提交 Issues 和 pull requests:CONTRIBUTING.md 介绍相关规范,AGENTS.md 是供修改此代码的 AI Agent 遵循的相同规范,CHANGELOG.md 记录了各版本之间的变更。请勿在 issues、日志和测试文件中公开真实商店数据。

作者与联系方式

Хорошоп MCP 由 Игорь Шутко 和 Target+ 代理机构创建并维护。

问题与建议:GitHub Issues。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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