Супермаркет САМПО

Каталог и заказ супермаркета САМПО. Оплата на странице банка.

使うべきか

品質と安全性

A
説明の品質
73%
スキーマの完全性
99%
命名の品質
96%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(4)

  • LOWTool 'search_products' description lacks action verbsearch_products 内
  • LOWTool 'get_product' description lacks action verbget_product 内
  • LOWTool 'check_stock' description lacks action verbcheck_stock 内
  • LOWTool 'get_delivery_options' description lacks action verbget_delivery_options 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,698トークン数(ツール定義)
~1.4 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.33%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "catalog": {
      "url": "https://sampo.shop/mcp"
    }
  }
}

リモートエンドポイント

https://sampo.shop/mcpstreamable-http

できること

ツール一覧

ツール(9)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_products(q, category_id, limit)

Найти товары каталога. Без авторизации.

入力スキーマ

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Строка поиска"
    },
    "category_id": {
      "type": "integer",
      "description": "Идентификатор категории"
    },
    "limit": {
      "type": "integer",
      "description": "Сколько позиций вернуть, не больше 20"
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_product(goods_id)

Карточка товара и ступени количества. Без авторизации.

入力スキーマ

{
  "type": "object",
  "properties": {
    "goods_id": {
      "type": "integer",
      "description": "Идентификатор товара"
    }
  },
  "required": [
    "goods_id"
  ],
  "additionalProperties": false
}
🟢check_stock(goods_id, qty)

Сколько штук можно заказать сейчас. Без авторизации.

入力スキーマ

{
  "type": "object",
  "properties": {
    "goods_id": {
      "type": "integer",
      "description": "Идентификатор товара"
    },
    "qty": {
      "type": "integer",
      "description": "Сколько штук нужно"
    }
  },
  "required": [
    "goods_id",
    "qty"
  ],
  "additionalProperties": false
}
⚪quote_cart(lines, mode, service, city, street, ...)

Итог корзины по текущим ценам и остатку. Заказ не создаёт. Без авторизации. Тело — объект lines: массив строк {goods_id, min_qty, cards}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "lines": {
      "type": "array",
      "description": "Строки: goods_id, min_qty ступени, cards — сколько таких упаковок",
      "items": {
        "type": "object",
        "properties": {
          "goods_id": {
            "type": "integer",
            "description": "Идентификатор товара, как в адресе /catalog/{id}"
          },
          "min_qty": {
            "type": "integer",
            "description": "Ступень с карточки: сколько штук в одной упаковке"
          },
          "cards": {
            "type": "integer",
            "description": "Сколько таких упаковок. Пусто — одна"
          }
        },
        "required": [
          "goods_id",
          "min_qty"
        ]
      }
    },
    "mode": {
      "type": "string",
      "description": "pickup, city или distant. Пусто — только товары"
    },
    "service": {
      "type": "string",
      "description": "cdek или dostavista"
    },
    "city": {
      "type": "string",
      "description": "Город"
    },
    "street": {
      "type": "string",
      "description": "Улица"
    },
    "house": {
      "type": "string",
      "description": "Дом"
    },
    "tariff_code": {
      "type": "integer",
      "description": "Тариф СДЭК"
    },
    "pvz_code": {
      "type": "string",
      "description": "Код пункта выдачи"
    }
  },
  "required": [
    "lines"
  ],
  "additionalProperties": false
}
🟡create_checkout(idempotency_key, lines, mode, name, phone, ...)

Создать заказ и ссылку на страницу банка. Нужен вход пользователя и scope checkout. Телефон клиента берётся из его аккаунта. Цена и остаток считаются заново. Повтор с тем же idempotency_key возвращает тот же заказ.

入力スキーマ

{
  "type": "object",
  "properties": {
    "idempotency_key": {
      "type": "string",
      "description": "Ключ повтора, до 80 символов"
    },
    "lines": {
      "type": "array",
      "description": "Строки: goods_id, min_qty ступени, cards — сколько таких упаковок",
      "items": {
        "type": "object",
        "properties": {
          "goods_id": {
            "type": "integer",
            "description": "Идентификатор товара, как в адресе /catalog/{id}"
          },
          "min_qty": {
            "type": "integer",
            "description": "Ступень с карточки: сколько штук в одной упаковке"
          },
          "cards": {
            "type": "integer",
            "description": "Сколько таких упаковок. Пусто — одна"
          }
        },
        "required": [
          "goods_id",
          "min_qty"
        ]
      }
    },
    "mode": {
      "type": "string",
      "description": "pickup, city или distant"
    },
    "name": {
      "type": "string",
      "description": "Имя получателя"
    },
    "phone": {
      "type": "string",
      "description": "Не передавайте. Телефон берётся из аккаунта вошедшего клиента и обязателен"
    },
    "email": {
      "type": "string",
      "description": "Почта"
    },
    "personal_data": {
      "type": "string",
      "description": "Согласие на обработку данных: 1"
    },
    "service": {
      "type": "string",
      "description": "cdek или dostavista"
    },
    "city": {
      "type": "string",
      "description": "Город"
    },
    "region": {
      "type": "string",
      "description": "Регион"
    },
    "street": {
      "type": "string",
      "description": "Улица"
    },
    "house": {
      "type": "string",
      "description": "Дом"
    },
    "flat": {
      "type": "string",
      "description": "Квартира"
    },
    "postal_code": {
      "type": "string",
      "description": "Индекс"
    },
    "tariff_code": {
      "type": "integer",
      "description": "Тариф СДЭК"
    },
    "pvz_code": {
      "type": "string",
      "description": "Код пункта выдачи"
    },
    "slot": {
      "type": "string",
      "description": "Слот Достависты"
    },
    "comment": {
      "type": "string",
      "description": "Комментарий"
    }
  },
  "required": [
    "idempotency_key",
    "lines",
    "mode",
    "name",
    "personal_data"
  ],
  "additionalProperties": false
}
🟢get_order_status(order)

Статус своего заказа. Нужен вход пользователя и scope checkout.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order": {
      "type": "string",
      "description": "Номер QD-… или uuid заказа"
    }
  },
  "required": [
    "order"
  ],
  "additionalProperties": false
}
🟢get_delivery_options(city, cdek_code, q, limit)

Сроки и способы доставки. Для Санкт-Петербурга — слоты Достависты, ближайший первый. Для другого города — срок СДЭК и пункты выдачи. Без авторизации.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "Город"
    },
    "cdek_code": {
      "type": "integer",
      "description": "Код города СДЭК, если известен"
    },
    "q": {
      "type": "string",
      "description": "Фильтр пункта: улица, метро или код"
    },
    "limit": {
      "type": "integer",
      "description": "Сколько пунктов вернуть, не больше 30"
    }
  },
  "required": [
    "city"
  ],
  "additionalProperties": false
}
⚪request_login_code(phone, channel)

Отправить код входа клиенту, который сам попросил войти. Канал: sms, telegram или max. Клиент должен быть в базе. Если мессенджер не привязан, в ответе будет ссылка на бота. Код в ответ не входит.

入力スキーマ

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "description": "Телефон клиента"
    },
    "channel": {
      "type": "string",
      "description": "sms, telegram или max"
    }
  },
  "required": [
    "phone",
    "channel"
  ],
  "additionalProperties": false
}
⚪confirm_login(phone, code, password)

Завершить вход. Передайте код, который клиент получил и сообщил, либо его пароль. В ответе токен scope checkout.

入力スキーマ

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "description": "Телефон клиента"
    },
    "code": {
      "type": "string",
      "description": "Код из СМС, Telegram или MAX"
    },
    "password": {
      "type": "string",
      "description": "Пароль, если клиент хочет войти им"
    }
  },
  "required": [
    "phone"
  ],
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 9 件