AquaMania — locker room & pool furniture
Catalog, quotes, 44-FZ price justification and tender packages for locker-room furniture (RU)
使うべきか
品質と安全性
検出事項(9)
- LOWlist_concepts 内
- LOWconfigure_locker 内
- LOWmake_kp 内
- LOWcalc_nmck 内
- LOWmake_tender_package 内
- LOWfind_product 内
- LOWquote_project 内
- LOWmake_project 内
- LOWobject_status 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"catalog": {
"url": "https://aqmania.com/api/mcp"
}
}
}リモートエンドポイント
https://aqmania.com/api/mcpstreamable-httpできること
ツール一覧
ツール(15)
🟢list_concepts
Концепции оснащения раздевалок шкафами AquaMania (без скамьи / со скамьёй на 2/3/4 места) с реальными ценами по материалам (ЛДСП/HPL) и ширинам секций. Вызывать первым, чтобы узнать допустимые material/width/concept.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}⚪configure_locker(walls, width, material, concept)
Рассчитать раскладку шкафов для раздевалок по стенам (с учётом проёмов) и цену. Возвращает число шкафов, мест, итог (₽) и сегменты для визуализации.
入力スキーマ
{
"type": "object",
"properties": {
"walls": {
"type": "array",
"description": "стены помещения",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number",
"description": "ширина секции шкафа, мм (600/700/800 для «без скамьи»; шире для скамьи — см. list_concepts)"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
],
"description": "материал (HPL — влагостойкий, для бассейновых зон)"
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
],
"description": "max=2:2 без скамьи; bench/bench3/bench4=со скамьёй (2/3/4 места)"
}
},
"required": [
"walls"
]
}🟢get_quote(name, walls, width, material, concept, ...)
Сформировать спецификацию и итоговую цену (данные КП) без генерации файлов. Принимает параметры конфигуратора (walls/width/material/concept) либо явное число шкафов (lockers) или мест (seats).
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "имя/организация заказчика"
},
"walls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
]
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
]
},
"lockers": {
"type": "number",
"description": "явное число шкафов (если без раскладки по стенам)"
},
"seats": {
"type": "number",
"description": "требуемое число мест"
}
}
}⚪make_kp(name, phone, walls, width, material, ...)
Сгенерировать готовое коммерческое предложение и ТЗ (docx + xlsx) по параметрам раздевалок и вернуть ссылки на скачивание. Реквизиты поставщика — ИП Гусев, цены реальные.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "имя/организация заказчика (для шапки КП)"
},
"phone": {
"type": "string"
},
"walls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
]
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
]
},
"lockers": {
"type": "number"
},
"seats": {
"type": "number"
}
}
}⚪calc_nmck(name, walls, width, material, concept, ...)
Рассчитать НМЦК (начальную максимальную цену контракта) методом сопоставимых рыночных цен, ст. 22 ФЗ-44, по конфигурации раздевалки. Возвращает 3 ценовых предложения по позициям, среднюю, коэффициент вариации и НМЦК. Без файлов.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "организация-заказчик"
},
"walls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
]
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
]
},
"lockers": {
"type": "number"
},
"seats": {
"type": "number"
}
}
}🟢calc_nmck_cart(cart, items, coeffs)
НМЦК (ст. 22 ФЗ-44) по ЛЮБОЙ корзине каталога или явным позициям — для агента закупщика (не только раздевалки). Передайте cart:[{article,qty}] (артикулы — через find_product; имя/цена берутся из прайса производителя как источник №1) ИЛИ items:[{name,qty,price}] с собственными ценами заказчика. Опц. coeffs — свои коэффициенты рыночного разброса (по умолчанию 1.0/1.09/1.17). Возвращает по позициям 3 ценовых предложения, среднюю, коэффициент вариации V, однородность (V≤33%) и НМЦК. Без файлов.
入力スキーマ
{
"type": "object",
"properties": {
"cart": {
"type": "array",
"description": "позиции каталога [{article, qty}] — цены из прайса производителя (источник №1)",
"items": {
"type": "object",
"properties": {
"article": {
"type": "string"
},
"qty": {
"type": "number"
}
},
"required": [
"article",
"qty"
]
}
},
"items": {
"type": "array",
"description": "явные позиции с ценами заказчика [{name, qty, price, article?}] — альтернатива cart",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"article": {
"type": "string"
},
"qty": {
"type": "number"
},
"price": {
"type": "number"
}
},
"required": [
"name",
"qty",
"price"
]
}
},
"coeffs": {
"type": "array",
"description": "опц. коэффициенты рыночного разброса (≥2 значения), напр. [1.0, 1.08, 1.15]",
"items": {
"type": "number"
}
}
}
}🟢make_tender_package_cart(name, phone, cart)
Собрать полный тендерпакет 44/223-ФЗ по ПРОИЗВОЛЬНОЙ корзине каталога (не только раздевалки): КП + ТЗ + Обоснование НМЦК (ст. 22) + спецификация xlsx + проект контракта + опись → ZIP со ссылкой. Пара к calc_nmck_cart: сначала посчитайте НМЦК по корзине, затем этим тулом соберите пакет по той же корзине. Артикулы — через find_product. Требует API-ключ (генерация файлов).
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "организация-заказчик (шапка КП/ТЗ)"
},
"phone": {
"type": "string",
"description": "телефон для связи (опц.)"
},
"cart": {
"type": "array",
"description": "позиции каталога [{article, qty}] — цены/имена из прайса производителя",
"items": {
"type": "object",
"properties": {
"article": {
"type": "string"
},
"qty": {
"type": "number"
}
},
"required": [
"article",
"qty"
]
}
}
},
"required": [
"cart"
]
}⚪make_tender_package(name, walls, width, material, concept, ...)
Собрать полный тендерпакет 44/223-ФЗ по конфигурации раздевалки: КП + ТЗ + Обоснование НМЦК + спецификация (xlsx) → ZIP со ссылкой на скачивание.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "организация-заказчик"
},
"walls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
]
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
]
},
"lockers": {
"type": "number"
},
"seats": {
"type": "number"
}
}
}🟢find_product(query, category, material)
Поиск по всему каталогу продукции AquaMania (162 SKU: шкафы, ПВХ-стеллажи, скамьи, тумбы, дорожки, алюминий). Ищет по артикулу (платформенному и 1С), названию, габаритам, описанию; фильтры по категории и материалу. Каждая позиция возвращает description (габариты · материал · особенности конструкции) и size — по ним и выбирайте. Цена НЕ означает «базовость» модели: если у нескольких позиций совпали габариты и материал, поле note предупредит об этом — уточните у заказчика, а не угадывайте.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "строка поиска: артикул / «стеллаж» / «2:2» / «дорожка»…"
},
"category": {
"type": "string",
"enum": [
"Шкафы",
"ПВХ-изделия",
"Алюминий",
"Тумбы и дорожки"
],
"description": "фильтр по категории"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL",
"ПВХ",
"Алюминий"
],
"description": "фильтр по материалу"
}
}
}⚪quote_project(name, zones)
Рассчитать смету на объект ЦЕЛИКОМ из нескольких зон (раздевалки + душевые + зона бассейна + хранение). Каждая зона — раздевалка (параметрический расчёт шкафов) или набор позиций каталога. Возвращает разбивку по зонам, общий итог (₽) и общую НМЦК. Без файлов.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "организация-заказчик"
},
"zones": {
"type": "array",
"description": "зоны объекта",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"locker",
"catalog"
],
"description": "locker — раздевалка (расчёт шкафов по стенам/местам); catalog — позиции каталога по артикулам"
},
"label": {
"type": "string",
"description": "название зоны, напр. «Раздевалка муж.» / «Зона бассейна» / «Хранение»"
},
"walls": {
"type": "array",
"description": "(locker) стены раздевалки",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number",
"description": "(locker) ширина секции шкафа, мм"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
],
"description": "(locker) материал"
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
],
"description": "(locker) концепция (см. list_concepts)"
},
"lockers": {
"type": "number",
"description": "(locker) явное число шкафов"
},
"seats": {
"type": "number",
"description": "(locker) требуемое число мест"
},
"items": {
"type": "array",
"description": "(catalog) позиции [{article, qty}] — артикулы стеллажей/скамей/тумб/дорожек/корзин через find_product",
"items": {
"type": "object",
"properties": {
"article": {
"type": "string"
},
"qty": {
"type": "number"
}
},
"required": [
"article",
"qty"
]
}
}
},
"required": [
"type"
]
}
}
},
"required": [
"zones"
]
}⚪make_project(name, phone, zones)
Сгенерировать готовое КП + ТЗ (docx/xlsx) на объект целиком из зон (мультикатегория: шкафы + стеллажи + скамьи + дорожки и т.д.) и вернуть ссылки на скачивание. Реквизиты — ИП Гусев, цены реальные.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "имя/организация заказчика (шапка КП)"
},
"phone": {
"type": "string"
},
"zones": {
"type": "array",
"description": "зоны объекта",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"locker",
"catalog"
],
"description": "locker — раздевалка (расчёт шкафов по стенам/местам); catalog — позиции каталога по артикулам"
},
"label": {
"type": "string",
"description": "название зоны, напр. «Раздевалка муж.» / «Зона бассейна» / «Хранение»"
},
"walls": {
"type": "array",
"description": "(locker) стены раздевалки",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "метка стены, напр. «Стена A»"
},
"len": {
"type": "number",
"description": "длина стены, мм"
},
"openings": {
"type": "array",
"description": "проёмы стены (двери/колонны), в них шкафы не ставятся",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"len": {
"type": "number"
}
},
"required": [
"start",
"len"
]
}
}
},
"required": [
"len"
]
}
},
"width": {
"type": "number",
"description": "(locker) ширина секции шкафа, мм"
},
"material": {
"type": "string",
"enum": [
"ЛДСП",
"HPL"
],
"description": "(locker) материал"
},
"concept": {
"type": "string",
"enum": [
"max",
"bench",
"bench3",
"bench4"
],
"description": "(locker) концепция (см. list_concepts)"
},
"lockers": {
"type": "number",
"description": "(locker) явное число шкафов"
},
"seats": {
"type": "number",
"description": "(locker) требуемое число мест"
},
"items": {
"type": "array",
"description": "(catalog) позиции [{article, qty}] — артикулы стеллажей/скамей/тумб/дорожек/корзин через find_product",
"items": {
"type": "object",
"properties": {
"article": {
"type": "string"
},
"qty": {
"type": "number"
}
},
"required": [
"article",
"qty"
]
}
}
},
"required": [
"type"
]
}
}
},
"required": [
"zones"
]
}🟢dealer_order(phone, name, items, comment)
Разместить заказ от дилера по нетто-ценам. Принимает телефон дилера и позиции [{article, qty}] (артикулы — через find_product). Если телефон привязан к дилерскому аккаунту — цены со скидкой; иначе прайсовые. Создаёт заказ, уведомляет менеджера, возвращает № заказа и итог.
入力スキーマ
{
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "телефон дилера (определяет аккаунт и скидку)"
},
"name": {
"type": "string",
"description": "имя/организация (если телефона нет в базе)"
},
"items": {
"type": "array",
"description": "позиции заказа",
"items": {
"type": "object",
"properties": {
"article": {
"type": "string"
},
"qty": {
"type": "number"
}
},
"required": [
"article",
"qty"
]
}
},
"comment": {
"type": "string",
"description": "комментарий к заказу (сроки, адрес доставки)"
}
},
"required": [
"phone",
"items"
]
}⚪object_status(orderId, phone)
Статус заказа/КП. По номеру заказа (orderId) — детально; по телефону (phone) — список последних заказов клиента/дилера со статусами. Статусы ведёт менеджер AquaMania.
入力スキーマ
{
"type": "object",
"properties": {
"orderId": {
"type": "number",
"description": "№ заказа (из dealer_order)"
},
"phone": {
"type": "string",
"description": "телефон — вернёт все заказы клиента"
}
}
}🟢request_api_key(email, org, purpose, contact, agent)
Запросить собственный API-ключ к этому MCP-серверу — САМООБСЛУЖИВАНИЕ, звонить никуда не нужно. Вызывайте, когда упёрлись в 401 missing_api_key на пишущем инструменте (make_kp, make_project, тендерпакеты). Заявку рассматривает человек (владелец платформы), обычно в рабочее время в течение дня. Возвращает requestToken — СОХРАНИТЕ ЕГО: только по нему потом забирается ключ через check_api_key_request. Права выдаваемого ключа: все инструменты, кроме dealer_order (заказы оформляет менеджер). Квота: 100 вызовов/сутки, 1000/месяц.
入力スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "рабочий email — на него уйдёт уведомление о решении (обязателен)"
},
"org": {
"type": "string",
"description": "организация или проект, от имени которого работает агент"
},
"purpose": {
"type": "string",
"description": "зачем нужен доступ: напр. «подбор и КП на оснащение бассейна для заказчика», «расчёт НМЦК по 44-ФЗ»"
},
"contact": {
"type": "string",
"description": "телефон или телеграм для связи (не обязателен, но ускоряет решение)"
},
"agent": {
"type": "string",
"description": "как называется ваш агент/продукт"
}
},
"required": [
"email"
]
}🟢check_api_key_request(requestToken)
Проверить статус заявки на API-ключ и ЗАБРАТЬ ключ, если она одобрена. Принимает requestToken из request_api_key. Статусы: pending — решение ещё не принято (опрашивайте не чаще раза в 10 минут); approved — в ответе поле apiKey, показывается ОДИН раз, сохраните его; rejected — отказ с причиной; already_claimed — ключ уже забирали ранее.
入力スキーマ
{
"type": "object",
"properties": {
"requestToken": {
"type": "string",
"description": "секрет заявки, выданный request_api_key"
}
},
"required": [
"requestToken"
]
}コミュニティ
エビデンス