shop
Каталог инженерной сантехники: подбор по Ду/Ру, спецификация, корзина, счёт для юрлица.
我该使用它吗
质量与安全性
发现(14)
- LOW在 search_products 中
- LOW在 get_product 中
- LOW在 find_by_sku 中
- LOW在 list_categories 中
- LOW在 get_recommendations 中
- LOW在 parse_spec 中
- LOW在 build_cart 中
- LOW在 estimate_delivery 中
- LOW在 create_invoice_order 中
- LOW在 select_actuator 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"shop": {
"url": "https://5dyuymov.ru/api/mcp/mcp"
}
}
}远程端点
https://5dyuymov.ru/api/mcp/mcpstreamable-http它能做什么
工具清单
工具(15)
🟢search_products(query, limit)
Поиск по каталогу инженерной сантехники (затворы, краны, задвижки, приводы, фильтры, тепловентиляторы). Понимает Ду/Ру: «затвор ду 50 ру 16».
输入模式
{
"type": "object",
"properties": {
"query": {
"description": "Запрос на русском",
"type": "string"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_product(id)
Карточка товара: характеристики, исполнения (варианты) с ценами и артикулами.
输入模式
{
"type": "object",
"properties": {
"id": {
"description": "id товара (prod_…) или handle",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_by_sku(skus)
Точный поиск исполнений по артикулам (до 100 за раз): variant_id, товар и цена. Регистр не важен.
输入模式
{
"type": "object",
"properties": {
"skus": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"skus"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_categories
Дерево разделов каталога с адресами.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_recommendations(product_id)
Похожие товары и обвязка того же диаметра (фланцы, фильтры, приводы) к товару.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢parse_spec(text)
Разобрать спецификацию или смету (текст: по строке на позицию — артикул или название и количество) и сверить с каталогом. Возвращает по строке: что нашли, variant_id для корзины, цену или пометку «нужно выбрать исполнение».
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 2,
"maxLength": 20000
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪build_cart(items, cart_id)
Собрать корзину из списка исполнений (variant_id + количество). Возвращает cart_id, состав и ссылку, по которой покупатель откроет эту корзину на сайте. Ничего не оплачивает. Требует входа по OAuth.
输入模式
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"variant_id": {
"type": "string"
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"variant_id"
]
}
},
"cart_id": {
"description": "Добавить в существующую корзину",
"type": "string"
}
},
"required": [
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪estimate_delivery(cart_id, city, postal_code)
Оценка доставки корзины в город: самовывоз, доставка магазином и тарифы транспортных компаний (если подключены). Записывает город в адрес корзины. Требует входа по OAuth.
输入模式
{
"type": "object",
"properties": {
"cart_id": {
"type": "string"
},
"city": {
"type": "string",
"minLength": 2
},
"postal_code": {
"type": "string"
}
},
"required": [
"cart_id",
"city"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_invoice_order(cart_id, company, inn, email, phone, ...)
Оформить заказ по корзине с оплатой по счёту для юрлица или ИП. Возвращает номер заказа и ссылку на счёт. Самовывоз со склада или доставка ТК по согласованию. Требует входа по OAuth: заказ оформляется на почту кабинета покупателя.
输入模式
{
"type": "object",
"properties": {
"cart_id": {
"type": "string"
},
"company": {
"type": "string",
"minLength": 2
},
"inn": {
"type": "string",
"pattern": "^\\d{10}(\\d{2})?$"
},
"email": {
"description": "Не используется: заказ оформляется на почту кабинета вошедшего покупателя",
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string",
"minLength": 10
},
"contact": {
"type": "string"
},
"kpp": {
"type": "string"
},
"legal_address": {
"type": "string"
},
"delivery": {
"default": "pickup",
"type": "string",
"enum": [
"pickup",
"delivery"
]
},
"comment": {
"type": "string"
},
"dry_run": {
"description": "Проверить данные и показать итог, ничего не оформляя",
"default": false,
"type": "boolean"
}
},
"required": [
"cart_id",
"company",
"inn",
"phone"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢suggest_accessories_for_cart(cart_id)
Что обычно докупают к позициям корзины: ответные фланцы, приводы, фильтры того же Ду. Возвращает готовые строки с количеством — их можно сразу передать в build_cart. Фланцевой арматуре считаем два ответных фланца на единицу.
输入模式
{
"type": "object",
"properties": {
"cart_id": {
"description": "id корзины из build_cart",
"type": "string"
}
},
"required": [
"cart_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢select_actuator(diameter, torque_nm, iso_flange, kind, voltage)
Подобрать электро- или пневмопривод к затвору, крану или задвижке: по Ду, требуемому моменту и присоединительному фланцу ISO. Возвращает подходящие приводы с запасом по моменту. Если момент неизвестен, укажите Ду — вернём типовые варианты раздела.
输入模式
{
"type": "object",
"properties": {
"diameter": {
"description": "Ду арматуры, мм, например «50»",
"type": "string"
},
"torque_nm": {
"description": "Требуемый момент на валу арматуры, Н·м",
"type": "number"
},
"iso_flange": {
"description": "Фланец ISO арматуры, например «F07» или «F10»",
"type": "string"
},
"kind": {
"default": "any",
"type": "string",
"enum": [
"electric",
"pneumatic",
"any"
]
},
"voltage": {
"description": "Питание: «24В», «220В»",
"type": "string"
}
},
"required": [
"diameter"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢my_orders(limit)
Заказы вошедшего покупателя: номер, дата, сумма, оплата, отгрузка и ссылка на счёт. Требует входа по OAuth.
输入模式
{
"type": "object",
"properties": {
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢my_loyalty(cart_total_rub)
Баланс бонусных рублей, статус покупателя, сколько осталось до следующего уровня и сколько можно списать при указанной сумме заказа. Требует входа по OAuth.
输入模式
{
"type": "object",
"properties": {
"cart_total_rub": {
"description": "Сумма заказа, чтобы посчитать доступное списание",
"type": "number"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪reorder(order_id)
Собрать новую корзину из позиций прошлого заказа. Возвращает ссылку на корзину; ничего не оплачивает. Требует входа по OAuth.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"description": "id заказа (order_…) из my_orders",
"type": "string"
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_order(order_id)
Статус заказа вошедшего покупателя по его id (order_…): состав, сумма, оплата и отгрузка. Требует входа по OAuth.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据