Ecommerce Template
Next.js·React 등으로 만든 최신 전자상거래 템플릿
우크라이나 온라인 쇼핑몰 소유자를 위한 무료 도구. 첫 번째는 AI 채팅으로 Хорошоп에서 주문·가격·재고·고객을 관리합니다
Безкоштовні інструменти для власників українських магазинів. Перший — керування магазином на Хорошопі через чат зі ШІ: замовлення, ціни, залишки, покупці.
커머스TypeScript · JavaScriptGitHub @ecomkit-com-ua온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기MCP-сервер для Horoshop: замовлення, каталог, покупці, вебхуки · MCP server for the Horoshop e-commerce API
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
English: an MCP server for the Horoshop e-commerce platform. It gives Claude, Cursor and any other MCP client direct access to a Horoshop store's API — orders, catalog, categories, customers, product sets, reference data and webhooks. Install with npx -y horoshop-mcp, configure with your store domain and an admin login. llms-install.md lets an AI agent do the whole setup for you. MIT licensed. Documentation below is in Ukrainian. Пояснення для власника магазину, без технічних деталей — ecomkit.com.ua/instrumenty.README 전문 보기 ↗
English: an MCP server for the Horoshop e-commerce platform. It gives
Claude, Cursor and any other MCP client direct access to a Horoshop store's API — orders,
catalog, categories, customers, product sets, reference data and webhooks. Install with
npx -y horoshop-mcp, configure with your store domain and an admin
login. llms-install.md lets an AI agent do the whole setup for you. MIT licensed.
Documentation below is in Ukrainian.
Пояснення для власника магазину, без технічних деталей — ecomkit.com.ua/instrumenty.
Це MCP-сервер для Horoshop. Він дає Claude (або будь-якому іншому MCP-клієнту) прямий доступ до API вашого магазину: замовлення, каталог, розділи, покупці, комплекти товарів, довідники доставки й оплати, вебхуки.
Далі можна просто просити звичайною мовою:
Сервер не має власної логіки поверх Horoshop — це тонка обгортка над офіційним API.
Найшвидший шлях — попросити про це самого асистента. Скопіюйте цей промпт у Claude Code, Claude Desktop або Cursor:
Встанови мені MCP-сервер horoshop-mcp.
Інструкція для тебе:
https://github.com/ecomkit-com-ua/horoshop-mcp/blob/main/llms-install.md
Прочитай її й виконай: спитай у мене домен магазину, логін і пароль адміна, пропиши конфіг
для того клієнта, у якому ти зараз працюєш, залиш на перший раз режим лише-читання
і перевір, що сервер відповідає.
Асистент сам спитає доступи, впише блок у потрібний файл конфігурації й перевірить зв'язок. Пароль він записує тільки в конфіг — не в чат і не в git.
Далі — те саме руками, якщо так зручніше.
В адмінпанелі магазину: Налаштування → Адміни → додати адміністратора.
Створіть окремий обліковий запис саме для API, а не використовуйте свій особистий. Так доступ можна відкликати одним рухом, не блокуючи собі вхід, і в логах видно, що саме робив інтеграційний доступ.
Horoshop не має API-ключів: авторизація йде звичайним логіном і паролем адміна.
Claude Code — у .mcp.json в корені проєкту:
{
"mcpServers": {
"horoshop": {
"command": "npx",
"args": ["-y", "horoshop-mcp"],
"env": {
"HOROSHOP_DOMAIN": "myshop.com.ua",
"HOROSHOP_LOGIN": "api",
"HOROSHOP_PASSWORD": "..."
}
}
}
}
Claude Desktop — те саме, але у claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\).
Cursor — той самий блок у ~/.cursor/mcp.json.
Cline — той самий блок у cline_mcp_settings.json.
Gemini CLI — той самий блок у ~/.gemini/settings.json.
VS Code (GitHub Copilot) — те саме у .vscode/mcp.json, але сервери лежать
під ключем servers, а не mcpServers.
Будь-який інший клієнт із підтримкою MCP через stdio теж підійде — конфіг скрізь той самий.
Після цього перезапустіть клієнт.
npx сам завантажить пакет з npm — окремо нічого встановлювати не треба. Найсвіжіший код,
ще до релізу, ставиться прямо з GitHub: ["-y", "github:ecomkit-com-ua/horoshop-mcp"].
Файл конфігурації містить пароль адміна відкритим текстом. Тримайте його поза git — додайте
.mcp.jsonу.gitignore.
Читання:
horoshop_orders_list — замовлення з товарами, доставкою, оплатою, знижками й UTM-мітками.
Фільтри за датами, номерами та статусамиhoroshop_order_statuses — усі статуси замовлень магазину (потрібен Horoshop 4.0+)horoshop_products_export — товари з каталогу: ціни, наявність, розділи, характеристики,
залишки, SEO. Фільтри за розділом, артикулом і видимістюhoroshop_categories_export — дерево розділів каталогу з ідентифікаторамиhoroshop_users_export — зареєстровані покупціhoroshop_store_reference — довідники магазину одним інструментом: варіанти й типи доставки,
варіанти й методи оплати, валюти з курсами, іконки товарів, а для B2B — групи покупців і
рівні цінЗапис:
horoshop_products_import — створення й оновлення товарівhoroshop_orders_update — статус, ознака оплати, номер відстеженняhoroshop_users_import — створення й оновлення покупцівhoroshop_product_sets_import / horoshop_product_sets_remove — комплекти «разом дешевше»horoshop_webhook_subscribe / horoshop_webhook_unsubscribe — підписка на події магазинуУніверсальний виклик:
horoshop_call — будь-яка функція API за назвою з документації. Для того, чого ще немає
серед окремих інструментівhoroshop_products_import пише в живий магазин, і скасувати це неможливо. Найнебезпечніші
значення за замовчуванням:
images, gallery_common і gallery_360 мають override: true за замовчуванням — це
видаляє поточну галерею перед завантаженням нових фото. Щоб додати фото без видалення,
передавайте override: false; щоб не чіпати галерею — не передавайте її взагаліaccessories і gifts замінюють поточні списки, а не доповнюють їхПеред масовим імпортом перевірте все на одному тестовому артикулі й звірте результат через
horoshop_products_export.
Якщо потрібен доступ лише на читання — поставте HOROSHOP_READONLY=1, і інструменти запису
взагалі не з'являться в списку.
Обов'язкові:
HOROSHOP_DOMAIN — домен магазину, наприклад myshop.com.ua. Можна з https://, можна безHOROSHOP_LOGIN — логін адмінаHOROSHOP_PASSWORD — пароль адмінаНеобов'язкові:
HOROSHOP_READONLY=1 — сховати всі інструменти записуHOROSHOP_TIMEOUT_MS — таймаут запиту, за замовчуванням 60000HOROSHOP_MAX_RESPONSE_BYTES — межа розміру відповіді, за замовчуванням 100000. Великі
вивантаження обрізаються з поміткою, скільки записів показано — див. «Гортання великих
вивантажень»HOROSHOP_INSECURE_HTTP=1 — звертатися по http замість https (для тестових магазинів)horoshop_orders_list, horoshop_products_export і horoshop_users_export приймають limit
і offset. Але розмір відповіді обмежений ще й окремо — через HOROSHOP_MAX_RESPONSE_BYTES.
Ці два обмеження незалежні, і це важливо. Horoshop може віддати всі 50 запитаних товарів, а в бюджет відповіді влізе, скажімо, 17. Решта 33 вже приїхали, але показані не будуть.
Тому підказка про наступну сторінку рахується від показаних записів, а не від limit: після
такої обрізаної сторінки сервер каже продовжити з offset 17, а не з offset 50. Якби він
радив offset 50, ті 33 товари зникли б назавжди — жоден наступний запит їх би не зачепив.
Що з цього варто знати:
include_params) або підняти HOROSHOP_MAX_RESPONSE_BYTESoffsetcatalog/export віддає максимум 500 товарів за раз; гортайте через offsetorders/get і users/export ігнорують offset без limit — сервер завжди надсилає обидваUNDEFINED_FUNCTIONnpm install
npm run build
node dist/index.js
npm test
npm test спочатку виконує npm run build, тож тести завжди йдуть проти скомпільованого
dist/, а не проти джерел. Справжній магазин для цього не потрібен: макет Horoshop піднімається
на випадковому порту 127.0.0.1, тому тести не роблять жодного зовнішнього запиту.
Що де лежить:
test/format.test.mjs — юніт-тести форматера відповіді: обрізання великих payload'ів,
підказки про наступну сторінку, статуси EMPTY і WARNING, перетворення помилокtest/server.test.mjs — інтеграційні тести. Піднімають справжній dist/index.js окремим
процесом і спілкуються з ним по JSON-RPC через stdio, як це робить MCP-клієнт: рукостискання,
список інструментів, режим лише-читання, життєвий цикл токена, форми відповідей Horoshoptest/support/mock-horoshop.mjs — макет API: авторизація, протермінований токен, конверти
відповідей, неконвертовані hooks/*, HTML замість JSONtest/support/mcp-client.mjs — мінімальний MCP-клієнт для тестівОдин файл окремо:
node --test test/format.test.mjs
Новий файл тестів достатньо назвати test/<щось>.test.mjs — npm test підхопить його сам.
Файли в test/support/ тестами не вважаються, це допоміжний код.
MIT.
No data is collected. This server contains no telemetry, analytics or usage reporting, and makes no requests to any server operated by ecomkit.
Full policy, in Ukrainian and English: ecomkit.com.ua/pryvatnist-instrumenty
Зробив Сергій Троїцький — запуск, SEO та автоматизація інтернет-магазинів. Потрібен аудит магазину на Horoshop? ecomkit.com.ua