{"serverId":"mcp-registry/com.aqmania/catalog","tools":[{"name":"check_api_key_request","fixed":{"name":"check_api_key_request","description":"Проверить статус заявки на API-ключ и ЗАБРАТЬ ключ, если она одобрена. Принимает requestToken из request_api_key. Статусы: pending — решение ещё не принято (опрашивайте не чаще раза в 10 минут); approved — в ответе поле apiKey, показывается ОДИН раз, сохраните его; rejected — отказ с причиной; already_claimed — ключ уже забирали ранее.","inputSchema":{"type":"object","required":["requestToken"],"properties":{"requestToken":{"type":"string","description":"секрет заявки, выданный request_api_key"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":153,"tokensAfter":153},{"name":"dealer_order","fixed":{"name":"dealer_order","description":"Разместить заказ от дилера по нетто-ценам. Принимает телефон дилера и позиции [{article, qty}] (артикулы — через find_product). Если телефон привязан к дилерскому аккаунту — цены со скидкой; иначе прайсовые. Создаёт заказ, уведомляет менеджера, возвращает № заказа и итог.","inputSchema":{"type":"object","required":["phone","items"],"properties":{"name":{"type":"string","description":"имя/организация (если телефона нет в базе)"},"items":{"type":"array","items":{"type":"object","required":["article","qty"],"properties":{"qty":{"type":"number"},"article":{"type":"string"}}},"description":"позиции заказа"},"phone":{"type":"string","description":"телефон дилера (определяет аккаунт и скидку)"},"comment":{"type":"string","description":"комментарий к заказу (сроки, адрес доставки)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":230,"tokensAfter":230},{"name":"find_product","fixed":{"name":"find_product","description":"Поиск по всему каталогу продукции AquaMania (162 SKU: шкафы, ПВХ-стеллажи, скамьи, тумбы, дорожки, алюминий). Ищет по артикулу (платформенному и 1С), названию, габаритам, описанию; фильтры по категории и материалу. Каждая позиция возвращает description (габариты · материал · особенности конструкции) и size — по ним и выбирайте. Цена НЕ означает «базовость» модели: если у нескольких позиций совпали габариты и материал, поле note предупредит об этом — уточните у заказчика, а не угадывайте.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"строка поиска: артикул / «стеллаж» / «2:2» / «дорожка»…"},"category":{"enum":["Шкафы","ПВХ-изделия","Алюминий","Тумбы и дорожки"],"type":"string","description":"фильтр по категории"},"material":{"enum":["ЛДСП","HPL","ПВХ","Алюминий"],"type":"string","description":"фильтр по материалу"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":252,"tokensAfter":252},{"name":"get_quote","fixed":{"name":"get_quote","description":"Сформировать спецификацию и итоговую цену (данные КП) без генерации файлов. Принимает параметры конфигуратора (walls/width/material/concept) либо явное число шкафов (lockers) или мест (seats).","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"имя/организация заказчика"},"seats":{"type":"number","description":"требуемое число мест"},"walls":{"type":"array","items":{"type":"object","required":["len"],"properties":{"len":{"type":"number","description":"длина стены, мм"},"label":{"type":"string","description":"метка стены, напр. «Стена A»"},"openings":{"type":"array","items":{"type":"object","required":["start","len"],"properties":{"len":{"type":"number"},"start":{"type":"number"}}},"description":"проёмы стены (двери/колонны), в них шкафы не ставятся"}}}},"width":{"type":"number"},"concept":{"enum":["max","bench","bench3","bench4"],"type":"string"},"lockers":{"type":"number","description":"явное число шкафов (если без раскладки по стенам)"},"material":{"enum":["ЛДСП","HPL"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":299,"tokensAfter":299},{"name":"list_concepts","fixed":{"name":"list_concepts","description":"Концепции оснащения раздевалок шкафами AquaMania (без скамьи / со скамьёй на 2/3/4 места) с реальными ценами по материалам (ЛДСП/HPL) и ширинам секций. Вызывать первым, чтобы узнать допустимые material/width/concept.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"object_status","fixed":{"name":"object_status","description":"Статус заказа/КП. По номеру заказа (orderId) — детально; по телефону (phone) — список последних заказов клиента/дилера со статусами. Статусы ведёт менеджер AquaMania.","inputSchema":{"type":"object","properties":{"phone":{"type":"string","description":"телефон — вернёт все заказы клиента"},"orderId":{"type":"number","description":"№ заказа (из dealer_order)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112}],"toolsChanged":6,"tokensSaved":0,"todo":[{"tool":"calc_nmck","params":["seats","walls","width","concept","lockers","material"]},{"tool":"get_quote","params":["walls","width","concept","material"]},{"tool":"make_kp","params":["phone","seats","walls","width","concept","lockers","material"]},{"tool":"make_project","params":["phone"]},{"tool":"make_tender_package","params":["seats","walls","width","concept","lockers","material"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}