
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.
概览
非官方本地 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。需要能访问所配置商店的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Horoshop MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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. Збережіть файл у місці, куди не мають доступу сторонні:
4. Підключіть ШІ-клієнт. Клонувати репозиторій не потрібно.
Claude Desktop, найпростіший шлях: завантажте horoshop-mcp.mcpb зі сторінки релізу і відкрийте файл. Claude Desktop поставить сервер сам і спитає, де лежить ваш stores.json. Термінал не потрібен.
Решта клієнтів запускають сервер через npx.
Claude Code:
Codex:
Cursor (~/.cursor/mcp.json), Claude Desktop (claude_desktop_config.json), Windsurf, LM Studio, Kiro і більшість інших клієнтів:
Щоб закріпити конкретну версію, додайте тег до адреси: 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. Спершу покажи план змін.»
Можливості
Кожен інструмент, його рівень доступу та всі параметри: довідник інструментів (англійською). Агентам зручніший docs/tools.json: той самий перелік без тексту, по одному компактному запису на інструмент.
Готові сценарії
Щоб не доводилось формулювати задачу словами, сервер віддає сім готових сценаріїв. Клієнт показує їх власним списком: у Claude Desktop це меню «+» у полі вводу, у Claude Code команда /mcp. Ви обираєте сценарій, заповнюєте одне-два поля, і агент іде за описаним порядком дій.
Сценарії описані в src/prompts.ts і навмисно називають агенту конкретні інструменти та порядок кроків: модель не вгадує, як влаштований Хорошоп, а йде перевіреним шляхом.
Налаштування
Сервер бере всі параметри зі змінних середовища.
Формат файлу з магазинами:
Ключ задає назву, яку потім передають як 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.
Як це працює
Сервер поєднує три канали до магазину:
- Публічний API (
/api/<function>/): авторизація токеном, який кешується для кожного магазину й оновлюється непомітно. Використовується для каталогу, замовлень, покупців, довідкових даних, B2B і вебхуків. - Адмінка: сесія через
/core-api/admin/security/login, далі класичні екрани адмінки. Адмінка влаштована одноманітно і розрізняє розділи за параметромhandler(тип сутності): списки, форми редагування, збереження. Реєстр цих типів дає невеликому універсальному ядру доступ майже до кожного розділу, а для частих задач є окремі інструменти. Запис читає всю форму, змінює лише потрібні поля і відправляє решту без змін, тож поля, яких ви не торкалися, зберігаються. - Вітрина: власний віджет кошика магазину (
/_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. Платите лише за свій тариф Хорошопу і за ШІ-клієнт, яким користуєтеся.
Розробка
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+.
- Telegram: @shutko_igor
- Telegram-канал: @shutko_ads
Помилки та побажання: GitHub Issues.
Ліцензія
MIT.
来源:README.md,提交 ba94cff
工具
0版本历史
1- v0.3.0最新Sep 21, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分