Перейти к содержимому
DealsHub MCP CRM межкомнатных дверей

Справочник

15 инструментов в 7 доменах

Каждый инструмент — типизированная бизнес-операция CRM: параметры валидируются, права проверяются до обращения к базе, ответы предсказуемы. Инструменты чтения требуют ability mcp:read, записи — mcp:write.

Всего
15
read
12
write
3
Доменов
7

Markdown-версия всего справочника: домены, инструменты, параметры и ответы — для контекста агента или документации.

Товары

Каталог дверных полотен: поиск по 7 000 SKU и полная карточка с опциями, изображениями и характеристиками.

search_products

read

Поиск дверных полотен по каталогу на 7 000 SKU. Ответы кешируются на 300 секунд, выдача ограничена параметром limit.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
factory string(150) Название фабрики, частичное совпадение.
style string(100) Стиль полотна (oc_product.wtrf_style).
material string(100) Материал полотна (oc_product.wtrf_material).
color string(100) Цвет (oc_product.colorname), частичное совпадение.
width_mm int 300–1500 Ширина полотна; поиск по door_sizes внутри группы размеров товара.
height_mm int 1500–3000 Высота полотна.
opening_system string(100) Slug, mechanism_type или название системы открывания.
in_stock_only bool false Только товары с остатком больше нуля.
only_active bool false Только опубликованные на витрине товары (status = 1).
limit int 1–100 20 Размер выдачи.

Ответ

{ count, products[] } — id, sku, model, name, slug, factory, factory_id, style, material, glazing, color, price, stock, in_stock, image_url.

  • По умолчанию возвращаются все товары каталога, включая снятые с публикации и без остатка — сузьте выборку флагами only_active и in_stock_only.

get_product_details

read

Полная карточка товара: описание, изображения, характеристики, опции со значениями, цвета и акции.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
product_id int ≥ 1 обязателен Идентификатор товара (oc_product.product_id).

Ответ

{ found: true, product: { …поля поиска, description, collection, images[], attributes{}, options[], color_options[], specials[] } }.

  • Если товара нет, ошибка не поднимается: вернётся { found: false, product_id }. Это позволяет отличать «нет данных» от сбоя без разбора исключения.

Ценообразование

Расчёт итоговой цены с наценками за нестандарт, срочность, комплект, фабрику и регион.

calculate_price

read

Расчёт итоговой цены с последовательными наценками: нестандартная ширина, срочность, комплект, фабрика и регион.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
product_id int ≥ 1 обязателен Товар, для которого считается цена.
width_mm int 300–1500 900 Ширина полотна; больше порога — наценка за нестандарт.
urgent bool false Срочный заказ.
kit_size int 1–100 1 Дверей в комплекте; от порога действует скидка.
region string(50) Ключ региона поставки: msk, spb, mo или иной из конфига.

Ответ

{ product_id, name, factory, currency, base_price, final_price, total_multiplier, markups[], snapshot }.

  • Каждое правило — отдельная строка markups[] с кодом, процентом, суммой и ценой до/после: видно, из чего сложилась итоговая сумма.
  • Подробный разбор правил — на странице «Наценки».

Заказы

Создание заказа одной транзакцией и сводка по нему: позиции, замеры, монтаж, платежи, рекламации.

create_order

write

Создание заказа одной транзакцией: позиции, опции, погонаж, замер и монтаж пишутся согласованно.

mcp:write

Параметры

Параметр Тип По умолчанию Описание
client_name string(255) обязателен ФИО клиента.
client_phone string(50) обязателен Телефон клиента.
address string(500) обязателен Адрес доставки и монтажа.
items array 1–100 обязателен Позиции заказа (см. ниже).
email email(255) E-mail клиента.
region string(50) Регион поставки для регионального коэффициента.
urgent bool false Срочный заказ, +25 %.
need_measurement bool false Создать заявку на замер.
need_installation bool false Создать заявку на монтаж.
notes string(2000) Комментарий к заказу.

Элемент items[]

Поле Тип По умолчанию Описание
product_id int ≥ 1 обязателен Проверяется через exists:oc_product,product_id.
quantity int 1–100 1 Количество.
width_mm int 300–1500 Ширина полотна, влияет на наценку.
height_mm int 1500–3000 Высота полотна.
options int[] Значения опций (product_option_value_id).
molding object Погонаж: cut_length_cm, quantity_pieces, price_per_meter, calculation_type.

Ответ

{ order_id, number, total, status, items_count, need_measurement, need_installation }. number — это orders.packing_slip_number.

  • Транзакция покрывает 8 таблиц: orders → orders_items → orders_product_options_value → order_molding_details → order_measurements → order_measurement_items → order_installations → order_logs.

get_order_summary

read

Сводка по заказу: карточка, позиции, замеры, монтаж, платежи, рекламации и журнал изменений.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
order_id int ≥ 1 обязателен Идентификатор заказа (orders.id).

Ответ

{ found, order, items[], measurements[], installations[], payments[], claims[], logs[] }.

  • Если заказа нет — { found: false, order_id } без ошибки.

Рекламации

Гарантийные обращения: список с фильтрами и создание рекламации с позициями и дефектами.

get_order_claims

read

Список рекламаций с позициями, сообщениями и вложениями.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
order_id int ≥ 1 Фильтр по заказу.
status string(50) Фильтр по статусу рекламации.
is_closed bool Только закрытые или только открытые.
limit int 1–100 20 Размер выдачи.

Ответ

{ count, claims[] } — id, order_id, number, status, claim_type, priority, customer_name, description, defect_type, total_cost, is_closed, created_at, items_count, messages_count, attachments_count.

create_order_claim

write

Создание рекламации с позициями, дефектами и ожиданиями клиента одной транзакцией.

mcp:write

Параметры

Параметр Тип По умолчанию Описание
order_id int ≥ 1 обязателен Заказ, по которому рекламация.
description string(5000) обязателен Описание проблемы со слов клиента.
items array 1–100 обязателен Позиции рекламации (см. ниже).
claim_type enum defect defect, damage, incomplete, wrong_item, quality, other.
priority enum normal low, normal, high, critical.
defect_type / defect_category string(100) Тип и категория дефекта.
defect_severity enum minor, major, critical.
customer_expectation string(2000) Замена, ремонт или компенсация.
customer_name / customer_phone / customer_email string из заказа Контакты клиента.
assigned_to int (users.id) Ответственный пользователь.
photos / documents string[] Ссылки на фото и документы.

Элемент items[]

Поле Тип По умолчанию Описание
defect_description string(2000) обязателен Описание дефекта по позиции.
product_id int ≥ 1 Товар из каталога, если известен.
product_name string(255) Название позиции, если товар не из каталога.
item_type string(50) product Тип позиции.
defect_type string(100) Тип дефекта.
defect_photos string[] Фото дефекта.
quantity int 1–1000 1 Количество.
serial_number string(100) Серийный номер.
is_warranty bool true Гарантийный случай.

Ответ

{ claim_id, order_id, number, status, priority, items_count }.

  • Транзакция покрывает order_claims → order_claim_items → order_claim_statuses.

Лиды

Заявки с сайта: фильтры по статусу, менеджеру, телефону, e-mail и дате создания.

get_leads

read

Заявки с сайта: корзина, источник, страница заявки, статус и менеджер.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
status_id int (lead_statuses.id) Фильтр по статусу лида.
manager_id int (users.id) Фильтр по менеджеру.
phone string(50) Частичное совпадение по телефону.
email string(255) Частичное совпадение по e-mail.
created_from date YYYY-MM-DD Лиды, созданные начиная с даты.
created_to date YYYY-MM-DD Лиды по дату включительно.
limit int 1–100 20 Размер выдачи.

Ответ

{ count, leads[] } — id, name, phone, email, status, status_id, manager, product_name, product_id, product_price, summa_zakaza, source, page_url, message, cart_data, created_at.

Справочники

Нормативно-справочная информация каталога: категории и коллекции, фабрики, системы открывания, размеры.

get_categories

read

Дерево категорий и коллекций каталога с количеством товаров.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
parent_id int ≥ 0 Родительская категория; 0 — корневые.
is_collection bool Только коллекции или только обычные категории.
include_in_menu bool Только категории, показываемые в меню.
limit int 1–500 100 Размер выдачи.

Ответ

{ count, categories[] } — id, name, short_name, slug, parent_id, is_collection, include_in_menu, products_count, image_url.

get_factories

read

Фабрики-производители со страной, сайтом и числом активных товаров.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
with_products_only bool false Только фабрики с активными товарами.
limit int 1–200 100 Размер выдачи.

Ответ

{ count, factories[] } — id, name, country_code, website, products_count, image_url.

get_opening_systems

read

Системы открывания с ограничениями по весу и габаритам полотна.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
mechanism_type string(50) Тип механизма.
max_weight number ≥ 0 Вернуть системы, подходящие под вес полотна.
limit int 1–100 50 Размер выдачи.

Ответ

{ count, systems[] } — характеристики системы и вложенный items[].

get_door_sizes

read

Размеры полотен и группы размеров с коэффициентами и наценками.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
group_id int ≥ 1 Фильтр по группе размеров.
is_standard bool Только стандартные или только нестандартные размеры.
limit int 1–500 200 Размер выдачи.

Ответ

{ count, sizes[], groups[] }.

SEO

Наполнение мета-тегов и описаний товаров и категорий по «описанию магазина» — с проверкой перед записью.

get_store_seo_profile

read

Профиль магазина для SEO: название, домен, meta-поля, описание и активные шаблоны мета.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
store_id int ≥ 1 все магазины Идентификатор магазина (oc_shop.store_id).
include_templates bool true Включить активные шаблоны мета.
include_counters bool true Включить счётчики незаполненного SEO.
language_id int ≥ 1 1 Язык описаний.

Ответ

{ count, stores[] } — магазин, contact{}, templates[] и counters{} по товарам и категориям без SEO.

list_seo_gaps

read

Товары или категории без заполненных SEO-тегов — исходные данные для написания текстов.

mcp:read

Параметры

Параметр Тип По умолчанию Описание
entity enum product product или category.
scope enum global global или store.
store_id int ≥ 1 Обязателен для scope = store.
category_id int ≥ 1 Только товары этой категории.
manufacturer_id int ≥ 1 Только товары этой фабрики.
only_missing bool true Только записи без meta_title или meta_description.
limit int 1–100 20 Размер страницы.
offset int ≥ 0 0 Смещение для постраничного обхода.
language_id int ≥ 1 1 Язык описаний.

Ответ

{ count, total, offset, has_more, items[] } — карточка несёт всё для написания текста: фабрика, категория, цвет, стиль, материал, цена и текущие meta-поля.

save_seo_meta

write

Пакетная запись SEO-тегов и описаний с проверкой перед записью (dry_run).

mcp:write

Параметры

Параметр Тип По умолчанию Описание
items array 1–100 обязателен Элементы: id и любые из meta_title, meta_description, meta_keyword, meta_h1, description.
entity enum product product или category.
scope enum global global пишет в oc_*_description, store — в oc_*_to_store.
store_id int ≥ 1 Обязателен для scope = store.
language_id int ≥ 1 1 Язык описаний.
dry_run bool false Проверить данные и вернуть отчёт без записи в БД.

Ответ

{ dry_run, applied, entity, scope, store_id, language_id, saved, ready, errors, results[] }.

  • Поля вне выбранного среза возвращаются в ignored и не записываются.
  • Тексты длиннее колонки обрезаются, имя поля попадает в truncated: meta_title — 255 (global) и 200 (store), meta_description — 255 у товара global и 400 у категории global.
  • Если строки описания ещё нет, при записи она создаётся вместе с name — витрина не получит запись с пустым названием.

Получите список инструментов у сервера

Вызовите tools/list — сервер вернёт актуальные схемы параметров для вашей версии.