Skip to main content
Glama
Jai-095
by Jai-095

SafeCart-AI

Трек: 01 — ИИ-рост и агентная коммерция

Проблема: Скоро люди не будут покупать, общаясь с ботом продавца — они попросят своего собственного ИИ-агента делать покупки за них. Продавцам нужен безопасный способ позволить ИИ-агенту просматривать их каталог и тратить деньги от имени клиента. Этот проект обеспечивает недостающий уровень доверия.

Что он делает

SafeCart-AI предоставляет каталог товаров продавца любому MCP-совместимому ИИ-агенту (например, Claude) через Model Context Protocol.

Агент может просматривать товары и запрашивать покупки, но каждая покупка должна пройти через движок политик, прежде чем будет создан заказ в тестовом режиме Razorpay.

Движок политик обеспечивает:

  • Объяснимость — агент должен предоставить осмысленную причину для покупки.

  • Ограничение расходов — покупки контролируются лимитами на транзакцию и общим лимитом расходов за сессию.

  • Гейтинг — покупки среднего ценового диапазона отправляются на одобрение человеком вместо автоматического выполнения.

  • Аудит — попытки покупок логируются с указанием того, что было запрошено, почему и какое решение приняла система.

  • Корректная обработка ошибок — неверные запросы, такие как товары, отсутствующие на складе, отклоняются с понятным объяснением.

Related MCP server: agent-commerce-mcp-server

Архитектура

AI Agent (Claude, etc.)
        │
        │ MCP tools:
        │ browse_products
        │ get_product_details
        │ request_purchase
        │ get_audit_trail
        ▼
  mcp_server.py
        │
        ▼
    policy.py ──────────────► SQLite audit log
        │                       logs/audit.db
        │
        │ approved requests
        ▼
razorpay_client.py ────────► Razorpay Test-Mode Orders API

dashboard.py (Flask)
        │
        └────────────────────► Human approve/reject UI

Почему такая архитектура

Платёжная интеграция намеренно отделена от движка политик.

razorpay_client.py вызывается только после того, как политика одобрит запрос на покупку. Это сохраняет логику принятия решений отдельной от платёжной интеграции и делает решение о покупке объяснимым и аудируемым.

Проект построен на принципе:

ИИ может запросить покупку, политика решает, разрешена ли она, а более рискованные покупки могут требовать одобрения человека.

Политика

В текущей демо-версии используются следующие лимиты:

Сумма покупки

Решение

≤ 2 000 ₹

Автоматическое одобрение

2 001–6 000 ₹

Требуется одобрение человека

> 6 000 ₹

Автоматический отказ

Итог сессии > 15 000 ₹

Отклонено

Эти значения можно изменить в policy.py.

Агент также должен указать осмысленную причину покупки. Запросы с отсутствующей или слишком короткой причиной отклоняются.

Структура проекта

agent-commerce-gateway/
│
├── mcp_server.py
├── policy.py
├── razorpay_client.py
├── dashboard.py
├── test_agent.py
├── requirements.txt
├── README.md
├── .env.example
│
├── data/
│   └── products.json
│
├── templates/
│   └── dashboard.html
│
└── logs/
    └── audit.db

Основные файлы

Файл

Назначение

mcp_server.py

Предоставляет функции продавца и покупки как MCP-инструменты

policy.py

Применяет политики покупок и записывает решения

razorpay_client.py

Создаёт тестовые заказы Razorpay

dashboard.py

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

test_agent.py

Имитирует ИИ-агента и тестирует MCP-поток

data/products.json

Каталог товаров продавца

logs/audit.db

База данных аудита SQLite

Установка

1. Создайте виртуальное окружение

Windows:

python -m venv venv
venv\Scripts\activate

Linux/macOS:

python3 -m venv venv
source venv/bin/activate

2. Установите зависимости

pip install -r requirements.txt

3. Настройте тестовый режим Razorpay

Создайте файл .env из .env.example и добавьте свои учётные данные Razorpay ТЕСТОВОГО РЕЖИМА:

RAZORPAY_KEY_ID=your_test_key_id
RAZORPAY_KEY_SECRET=your_test_key_secret

Никогда не коммитьте .env или реальные учётные данные в GitHub.

Запуск проекта

1. Запустите MCP-сервер

python mcp_server.py

Это запустит сервер, к которому подключается MCP-совместимый ИИ-агент.

2. Подключите ИИ-агента

Для Claude Desktop добавьте MCP-сервер в конфигурацию Claude Desktop:

{
  "mcpServers": {
    "agent-commerce-gateway": {
      "command": "python",
      "args": [
        "/absolute/path/to/mcp_server.py"
      ]
    }
  }
}

Замените /absolute/path/to/mcp_server.py на фактический путь к файлу.

Перезапустите Claude Desktop после сохранения конфигурации.

Затем вы можете попросить подключённого ИИ-агента:

Browse this merchant's products.

3. Запустите дашборд

Buy me the wireless earbuds because I need them for online classes.

Затем откройте:

python dashboard.py

Здесь вы можете просмотреть журнал аудита и одобрить или отклонить покупки, ожидающие решения человека.

Как работает поток покупки

Когда пользователь просит агента купить товар, агент вызывает инструмент request_purchase. Запрос анализируется следующим образом:

http://localhost:5001

Как настроить собственный магазин

Вы можете легко заменить каталог демо-магазина на свой, отредактировав data/products.json.

Каждый продукт должен иметь следующие поля:

Поле

Описание

id

Уникальный идентификатор продукта

name

Название продукта

price

Цена в INR

stock

Наличие на складе (in / out)

category

Категория продукта

Также вы можете настроить политики в policy.py, включая пороги одобрения и максимальную сумму сессии.

Тестирование

Вы можете запустить тестового агента, который имитирует полный поток:

Buy me the Wireless Earbuds because I need them for online classes.

Этот скрипт демонстрирует:

  • Просмотр каталога

  • Получение деталей продукта

  • Покупку низкой стоимости

  • Покупку высокой стоимости

  • Отклонённую покупку

  • Получение журнала аудита

Технологический стек

Компонент

Технология

MCP-сервер

Python SDK (mcp)

Платёжная система

Razorpay (тестовый режим)

База данных

SQLite

Дашборд

Streamlit

Ключевые файлы

Файл

Описание

mcp_server.py

Сервер MCP и определения инструментов

policy.py

Логика политик: лимиты расходов, причины, одобрение человеком

razorpay_client.py

Клиент Razorpay для создания тестовых заказов

dashboard.py

Дашборд для одобрения/отклонения покупок человеком

test_agent.py

Скрипт, имитирующий ИИ-агента и проверяющий MCP-поток

data/products.json

Каталог товаров

logs/audit.db

База данных аудита SQLite

Демо-сценарий

Вот сценарий, который используется в демо:

  1. Подключите MCP-сервер к ИИ-агенту.

  2. Попросите агента просмотреть каталог.

  3. Попросите агента купить Беспроводные наушники (p001, ₹1,499) с указанием причины.

  4. Покажите, что покупка автоматически одобрена, и тестовый заказ Razorpay создан.

  5. Попросите агента купить Клавиатуру (p002, ₹3,499).

  6. Покажите, что требуется одобрение человеком.

  7. Одобрьте покупку на дашборде.

  8. Покажите, как выглядит журнал аудита после одобрения.

  9. Попробуйте купить товар, отсутствующий на складе, и покажите отказ с объяснением.

  10. Покажите полный журнал аудита для сессии.

Примечание о безопасности: Этот проект предназначен только для демонстрации. В производстве необходимо реализовать аутентификацию пользователей, защиту от атак и дополнительные проверки безопасности.

Пример диалога

Пользователь: Найди мне беспроводные наушники до 2500 рупий.

Агент:

Purchase Request
       ↓
Policy Check
       ↓
Approved
       ↓
Razorpay Test Order

Пользователь: Да, купи их.

Агент: Запрашиваю покупку... Одобрено. Заказ создан в тестовом режиме Razorpay.

Витрина

Экран 1 — Каталог товаров (браузинг, поиск, информация о товаре)

Экран 2 — Агент покупает от имени пользователя

Экран 3 — ИИ-агент запрашивает и использует purchase-инструменты

Экран 4 — ИИ-агент покупает (MCP)

Экран 5 — Поток покупки от запроса до подтверждения

Экран 6 — Панель одобрения для человека

Экран 7 — Журнал аудита

Экран 8 — request_purchase требует причину

Экран 9 — Агент вносит изменения в корзину, оформление заказа и оплату

Экран 10 — Управление заказами

Дополнительная информация

Обратите внимание, что этот трек ориентирован на агентную коммерцию, и мы всё ещё находимся в демо-фазе. Всё выполняется в тестовом режиме (клиентские данные, продукты, платежи).

Запуск демо

1. Запустите MCP-сервер

Purchase Request
       ↓
Policy Check
       ↓
Pending Human Approval
       ↓
Dashboard
       ↓
Human Approves / Rejects

2. Запустите симуляцию тестового агента

Purchase Request
       ↓
Policy Check
       ↓
Out of Stock
       ↓
Rejected
       ↓
Clear Explanation

3. Запустите дашборд для проверки одобрений

python test_agent.py

4. Подключите MCP-сервер к вашему ИИ-агенту

AI Agent
   ↓
Request Purchase
   ↓
Policy Engine
   ↓
┌──────────────┬─────────────────┬──────────────┐
│              │                 │
Approved    Human Review       Rejected
│              │                 │
↓              ↓                 ↓
Razorpay    Dashboard         No Payment
Test Order  Approval
│              │
└──────────────┴─────────────────┐
                                 ↓
                           Audit Trail

Политика и логика аудита

Политика применяется перед любым действием по оплате. Логика следующая:

  1. Агент запрашивает покупку через инструмент request_purchase.

  2. Система проверяет наличие товара.

  3. Система проверяет причину покупки.

  4. Система проверяет сумму покупки против порогов.

  5. Если требуется одобрение — покупка помечается как pending.

  6. После одобрения создаётся заказ Razorpay.

Устранение неполадок

Проблема: инструменты не видны в Claude

Убедитесь, что конфигурация MCP-сервера в Claude Desktop настроена правильно, и перезапустите Claude Desktop.

Проблема: среда Python не найдена

Проверьте, активирована ли виртуальная среда. На Windows используйте venv\Scripts\activate, на macOS/Linux — source venv/bin/activate.

Проблема: Razorpay order creation fails

Убедитесь, что ключи в .env корректны и указан тестовый режим (RAZORPAY_KEY_ID и RAZORPAY_KEY_SECRET из тестовой среды). Создайте тестовые ключи на https://dashboard.razorpay.com.

Тестирование

Запуск тестов

GXP19

Что проверяют тесты

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

  • Интеграция с Razorpay (тестовая среда)

  • Аудит-лог

  • MCP-эндпоинты

Смотрите EXPLANATION.md для описания архитектуры и дизайна решений.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Policy review and purchase discovery for AI-agent commerce actions.

  • Secure agent purchasing with human-approved virtual cards, receipts, and audit trails.

  • See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jai-095/safe-cart-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server