Horoshop MCP

io.github.IgorShutko由 GitHub 账号 IgorShutko 发布v0.3.0更新于 Oct 24, 2026

Unofficial server for Horoshop (Хорошоп) stores: catalog, orders, SEO, feeds, admin. 118 tools.

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

非官方本地 MCP 服务器,将 AI 助手连接到 Horoshop 网店,提供 118 个工具,涵盖商品目录、订单、SEO、商品源和管理后台设置。

可以做什么
列出已配置的商店并检查 API 与管理后台的授权,每次调用通过 store 参数选择一个商店,一个连接可服务多个商店。通过公开 API 读取和导出商品目录、订单、客户、分类、组合商品、支付与配送方式、货币、B2B 分组和 webhook。读取、保存或删除管理后台各板块的记录,包括订单与销售分析、商品、价格、库存、属性结构和参考数据。管理分类、信息页、博客文章、横幅和筛选页,以及 SEO 设置、robots.txt、sitemap 和带循环与重复检查的 301 重定向。配置市场商品源(Rozetka、Hotline、Google、Facebook、Kasta),并调整主题、自定义 CSS、语言、翻译、营销代码、优惠券和收据设置。
适用场景
适用于经营或管理 Horoshop 网店、希望让 AI 助手查看订单、商品目录和 SEO 状况,或准备并执行价格调整、SEO 文案、重定向和商品源设置等变更的场景。也适合通过一个连接管理多个客户商店的代理机构。
运行要求
以 stdio 在本地运行;需要 Node.js 18 或更高版本和 Git,或使用打包好的 Claude Desktop 安装包。需要 Horoshop 商店管理员账号和密码,存放在 JSON 文件中,并通过 HOROSHOP_STORES_FILE 提供该文件的绝对路径(或通过 HOROSHOP_STORES 直接提供 JSON)。可选 HOROSHOP_DEFAULT_STORE 和 HOROSHOP_TIMEOUT_MS。需要能访问所配置商店的网络。
安装前请注意
非官方项目,与 Horoshop 公司无关;管理后台工具依赖未公开的内部请求,可能随时变更,新场景请先在测试商店验证。商店文件以明文保存商店登录名和密码,应排除在版本控制之外,切勿把凭据粘贴到对话中。写入工具会修改线上商店数据:多数默认只返回变更计划,但不可逆和批量操作需要显式确认,超过 50% 的调价需要额外批准。建议为服务器单独创建一个权限最小的管理员账号。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Horoshop MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Хорошоп MCP: неофіційний MCP-сервер для магазинів на Хорошопі

Українська · Русский · English

[CI] [License: MIT] [Node.js] [MCP] [Tools] [MCP Registry]

Хорошоп MCP (horoshop-mcp): безкоштовний MCP-сервер з відкритим кодом, який підключає ШІ-агентів Claude, Cursor, Codex, Hermes Agent та інших до інтернет-магазину на платформі Хорошоп. Сервер працює на вашому комп'ютері, обслуговує кілька магазинів одночасно і дає агенту 118 інструментів для каталогу, замовлень, SEO, редиректів, фідів маркетплейсів, дизайну та налаштувань магазину.

Неофіційний проєкт. Хорошоп MCP не є продуктом компанії Хорошоп, не пов'язаний з нею і нею не підтримується. Інструменти адмінки працюють через внутрішні недокументовані запити, які Хорошоп може змінити без попередження. Нові сценарії спершу перевіряйте на тестовому магазині і лише потім запускайте на робочому.

  • 118 інструментів на трьох рівнях: публічний API Хорошопу, адмінка та кошик вітрини.
  • Багато магазинів, один сервер. Кожен інструмент приймає аргумент store, тож агенція може працювати з магазинами всіх клієнтів через одне підключення.
  • Безпечно за замовчуванням. 57 з 71 інструмента запису лише показують план змін, доки ви не передасте dryRun:false; ризиковані масові операції вимагають явного підтвердження; кожен запис перевіряється повторним читанням результату.
  • Локально. Сервер працює на вашому комп'ютері через stdio. Доступи лежать у файлі, який контролюєте ви.

Зміст

Сторінка проєкту: igorshutko.github.io/horoshop-mcp

Документація: інструкція з встановлення для 22 клієнтів · довідник інструментів з усіма параметрами (англійською) · внутрішній устрій та особливості платформи (англійською).

Швидкий старт

1. Що потрібно. Node.js 18 або новіший і Git.

2. Доступи. Створіть в адмінці магазину окремого адміністратора (у російському інтерфейсі розділ «Настройки → Админы», кнопка «Добавить») і збережіть його логін і пароль. Та сама пара працює і для API, і для інструментів адмінки. Детальніше: як отримати доступи Хорошопу.

3. stores.json. Збережіть файл у місці, куди не мають доступу сторонні:

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

4. Підключіть ШІ-клієнт. Клонувати репозиторій не потрібно.

Claude Desktop, найпростіший шлях: завантажте horoshop-mcp.mcpb зі сторінки релізу і відкрийте файл. Claude Desktop поставить сервер сам і спитає, де лежить ваш stores.json. Термінал не потрібен.

Решта клієнтів запускають сервер через npx.

Claude Code:

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

Codex:

bash
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 і більшість інших клієнтів:

json
{  "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. Спробуйте. Попросіть агента:

  • «Покажи мої магазини на Хорошопі та перевір, чи працює авторизація.»
  • «Покажи 10 найновіших замовлень у myshop зі статусом і сумою.»
  • «Яких товарів у myshop немає в наявності? Покажи артикул, назву і ціну.»
  • «Задай SEO-заголовок і опис категорії /shoes/ українською та російською. Лише план змін.»
  • «Створи 301-редиректи з цього списку старих URL. Спершу покажи план змін.»

Можливості

НапрямІнструментівПриклади
Налаштування і діагностика2список підключених магазинів, перевірка авторизації в API
Каталог (публічний API)4експорт та імпорт товарів, прив'язка фото, список стікерів
Замовлення (публічний API)3замовлення з UTM і даними доставки, зміна статусу та оплати, список статусів
Категорії, покупці, комплекти5дерево категорій, експорт та імпорт покупців, комплекти «купують разом»
Оплата, доставка, валюти5способи оплати та доставки, курси валют
B2B і вебхуки4групи покупців, рівні цін, підписки на події
Вітрина6справжній кошик покупця, застосування купона, перевірка варіантів на оформленні замовлення
Адмінка: універсальний рушій6читання, збереження або видалення будь-якого запису будь-якого розділу адмінки
Адмінка: замовлення та аналітика8читання і редагування замовлень, скасування чи видалення, пошук за номером, друк ТТН, дашборд продажів
Адмінка: товари, ціни, фото9масова зміна цін з відкатом, групове редагування та об'єднання, складські залишки, імпорт прайсу постачальника, імпорт фото за назвою файлу
Адмінка: характеристики та довідники15схеми характеристик категорій, шаблони товарів, довідники значень та їх переклади
Адмінка: категорії, сторінки, блог, банери, фільтри12категорії та інфосторінки з SEO-текстами, статті блогу, банери, індексовані сторінки фільтрів
Адмінка: SEO, sitemap, редиректи11canonical і noindex для пагінації, robots.txt, sitemap, 301-редиректи з перевіркою циклів і дублів
Адмінка: фіди маркетплейсів6фіди Rozetka, Hotline, Google, Facebook і Kasta: увімкнення, зіставлення, генерація, перевірка
Адмінка: дизайн та мови8налаштування теми, власний CSS, мови, переклади інтерфейсу
Адмінка: налаштування, маркетинг, фіскальні чеки14контакти й інформація про магазин, способи оформлення, коди відстеження (GTM, Pixel, GA4), купони, чеки Checkbox

Кожен інструмент, його рівень доступу та всі параметри: довідник інструментів (англійською). Агентам зручніший docs/tools.json: той самий перелік без тексту, по одному компактному запису на інструмент.

Готові сценарії

Щоб не доводилось формулювати задачу словами, сервер віддає сім готових сценаріїв. Клієнт показує їх власним списком: у Claude Desktop це меню «+» у полі вводу, у Claude Code команда /mcp. Ви обираєте сценарій, заповнюєте одне-два поля, і агент іде за описаним порядком дій.

СценарійЩо робить
Перевірка магазинуДоступи, sitemap, robots, фіди і продажі. Тільки читання.
SEO категоріїTitle, description і h1 двома мовами: спершу план, запис після підтвердження.
Товари без фотоТі, що в наявності, показує першими: вони втрачають продажі зараз.
Зведення замовленьСума, статуси, джерела за UTM, найчастіші товари.
Фіди маркетплейсівЩо увімкнено, чи живі адреси, де не зіставлені наявність, ціна і категорії.
301 редиректи спискомПеревірка циклів і дублів, потім масове створення.
Зміна цін з відкатомМежі, попередження про великі зміни, параметри для повернення цін.

Сценарії описані в src/prompts.ts і навмисно називають агенту конкретні інструменти та порядок кроків: модель не вгадує, як влаштований Хорошоп, а йде перевіреним шляхом.

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

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

ЗміннаЗа замовчуваннямПризначення
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; більші імпорти діляться автоматично.

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

json
{  "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.

Як це працює

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

mermaid
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 немає, робить тими самими запитами, які надсилає інтерфейс адмінки. Ці внутрішні запити можуть змінитися будь-коли, тому нові сценарії перевіряйте на окремому тестовому магазині.

Які ШІ-асистенти працюють з Хорошоп MCP?

Будь-який MCP-клієнт, який уміє запускати локальний stdio-сервер. В інструкції з встановлення є покрокове налаштування для 22 клієнтів, серед них Claude Code, Claude Desktop, Cursor, OpenAI Codex, Hermes Agent, VS Code з GitHub Copilot, Windsurf, Gemini CLI, Zed і Cline.

Що потрібно, щоб підключити магазин на Хорошопі?

Node.js 18 або новіший, Git, а також логін і пароль адміністратора вашого магазину на Хорошопі. Запишіть доступи в stores.json, додайте сервер у ШІ-клієнт однією командою і зачекайте близько 20 секунд, поки перший запуск збере пакет.

Чи безпечно давати ШІ-агенту доступ до магазину?

Сервер спроєктований саме для цього. 57 з 71 інструмента запису лише показують план, доки ви не передасте dryRun:false, незворотні дії вимагають явного confirm, а кожен запис перевіряється читанням результату. Доступи зберігаються в локальному файлі, телеметрії немає. Дайте серверу окремого адміністратора з найвужчою роллю, якої достатньо.

Чи можна керувати кількома магазинами з одного сервера?

Так. Опишіть усі магазини в одному файлі stores.json, а кожен виклик обирає магазин аргументом store. Так агенція працює з магазинами всіх клієнтів через одне підключення.

Скільки коштує Хорошоп MCP?

Хорошоп MCP безкоштовний і поширюється за ліцензією MIT. Платите лише за свій тариф Хорошопу і за ШІ-клієнт, яким користуєтеся.

Розробка

bash
git clone https://github.com/IgorShutko/horoshop-mcp.gitcd horoshop-mcpnpm install          # installs dependencies and builds dist/npm run watch        # recompile on changenpm run inspect      # build and open the MCP Inspectornpm 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 - те саме для ШІ-агентів, які правлять цей код, CHANGELOG.md - що змінилось між версіями. Не публікуйте реальні дані магазинів в issues, логах і тестових файлах.

Автор і контакти

Хорошоп MCP створює та підтримує Ігор Шутко, агенція Target+.

Помилки та побажання: GitHub Issues.

Ліцензія

MIT.

来源:README.md,提交 ba94cff

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.0最新Sep 21, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分