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

SafeCart-AI

Track: 01 — AI Growth & Agentic Commerce

问题: 很快,人们将不再通过商家的聊天机器人购物,而是会让自己专属的 AI 代理代为购物。商家需要一种安全的方式,让 AI 代理浏览其商品目录,并代理客户花钱。本项目正是提供了这一缺失的信任层。

它能做什么

SafeCart-AI 通过 Model Context Protocol,将商家的商品目录开放给任何兼容 MCP 的 AI 代理(例如 Claude)。

AI 代理可以浏览商品并发起购买请求,但在创建 Razorpay 测试模式订单之前,每一笔购买都必须通过策略引擎

策略引擎强制执行:

  • 可解释性 —— AI 代理必须为购买提供有意义的理由。

  • 消费限额 —— 购买受到单笔交易限额和整个会话消费上限的管控。

  • 门控(Gating) —— 中等金额的购买会被转至人工审批,而不是自动执行。

  • 审计记录 —— 每次购买尝试都会被记录下来,包括请求了什么、为什么请求,以及系统做了什么决定。

  • 优雅的失败处理 —— 无效请求(如商品缺货)会被明确拒绝,并附带清晰说明。

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。这样可以让决策逻辑与支付集成互相分离,使购买决策可解释、可审计。

本项目围绕如下原则设计:

AI 可以请求购买,策略决定是否允许,而风险较高的购买可以要求人工审批。

策略规则

当前 demo 使用以下限额:

购买金额

决策

≤ ₹2,000

自动通过

₹2,001–₹6,000

需要人工审批

> ₹6,000

自动拒绝

会话总额 > ₹15,000

拒绝

这些数值可以在 policy.py 中调整。

AI 代理还必须提供有意义购买理由。理由缺失或过短的购买请求会被拒绝。

项目结构

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

提供人工批准/拒绝面板(dashboard)

test_agent.py

模拟 AI 代理并测试 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.example 创建 .env 文件,并填写你的 Razorpay 凭据(测试模式):

RAZORPAY_KEY_ID=your_test_key_id
RAZORPAY_KEY_SECRET=your_test_key_secret

切勿将 .env 或真实凭据提交到 GitHub。

如何运行项目

1. 启动 MCP 服务器

python mcp_server.py

这将启动一个兼容 MCP 的 AI 代理可以连接的服务器。

2. 接入 AI 代理

以 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。

之后你就可以对已连接的 AI 代理提问:

Browse this merchant's products.

或者:

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

3. 启动面板(Dashboard)

另外打开一个终端:

python dashboard.py

然后打开浏览器访问:

http://localhost:5001

面板用于查看审计记录,并审查需要人工审批的购买请求。

购买流程如何工作

示例 1 —— 自动通过的购买

假设用户提出如下请求:

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

AI 会发送一个购买请求,包含商品、数量与理由。

如果总价在自动通过限额以内:

Purchase Request
       ↓
Policy Check
       ↓
Approved
       ↓
Razorpay Test Order

示例 2 —— 需要人工审批

假设用户请求的是定价为 ₹3,499 的 Mechanical Keyboard:

由于该商品高于自动通过限额,但处于人工审查范围内:

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

原型说明: 目前实现只是将面板审批记录写入审计数据库。生产环境应将审批操作与后续的 Razorpay 订单创建步骤关联起来。

示例 3 —— 优雅拒绝

如果请求商品缺货:

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

系统不会静默失败,也不会继续付款流程。

MCP 工具

MCP 服务器提供四个主要工具:

browse_products()

返回商家当前的完整商品目录。

get_product_details(product_id)

返回商品特定商品的详细信息。

request_purchase(product_id, quantity, reason)

代表用户请求购买商品。请求在创建任何 Razorpay 订单之前,会先经过策略引擎评估。

get_audit_trail()

返回当前会话中的所有购买尝试及其决策结果。

审计追踪

每一次购买尝试都会存入 SQLite。

每条审计记录包括:

  • 时间戳

  • 会话 ID

  • 商品 ID

  • 商品名称

  • 价格

  • 商品名称

  • 数量

  • 购买理由

  • 决策结果

  • 决策说明

可视化可以通过它清晰地还原:

AI 请求了什么?为什么请求?系统凭什么逻辑作了什么决定?

演示脚本

为 demo 演示:

  1. 将 MCP 服务器连接到 AI 即可。

  2. 让 AI 代理浏览商家目录。

  3. 请求 Wireless Earbuds(p001,₹1,499),并附上明确理由。

  4. 展示该购买被自动通过,并且 Razorpay 测试订单已成功创建等待。

  5. 请求 Mechanical Keyboard(p003,₹3,499)

  6. 展示该购买需要面板上的人工审批。

  7. 请求 4K Webcam(p005)

  8. 展示缺货请求被优雅拒绝。

  9. 展示完整审计追踪。

测试

项目自带一个测试代理,用于覆盖 MCP 主流程。

运行:

python test_agent.py

测试脚本演示了以下能力:

  • MCP 连接

  • 商品目录浏览

  • 小额购买

  • 中等金额购买

  • 缺货购买

  • 审计追踪获取

遇到的问题及如何解决

1. 购买理由无效

策略层要求每次购买都必须提供有意义的理由。缺少理由或理由过短的请求会被拒绝禁止,而不是允许一笔无法解释的购买。

2. 商品缺货

缺货请求会在策略层内部处理,并以明确拒绝包裹正常返回,而不是导致应用崩溃。

3. Razorpay 异常

Razorpay 订单创建逻辑与策略决策逻辑被分离。如果策略通过后,创建测试单失败,MCP 服务器会捕获异常并返回明确的 payment_error 结果,而不会崩溃。

4. 消费限额

购买总额在批准前会同时检查单笔交易上限和会话级消费上限。

相关限制 / 后续规划

本项目是围绕黑客松目录/演示场景设计的原型。

  • 会话身份被简化,维护为:当前实现为每次服务器运行分配一个全局会话 ID。生产系统应把请求与已认证的 AI 代理及用户身份关联。

  • 策略阈值是静态:生产版本可结合代理信任历史、用户偏好、风险评分或商户规则来自动调整限额。

  • 仅测试模式支付:项目仅利用 Razorpay 测试订单,不包含完整的真实支付捕获流程。

  • Dashboard 认证:当前 Flask Dashboard 仅用于演示;生产环境必须加入认证和授权。

  • 人工审批的进一步衔接:当前以记录审批事件为简略替代;生产实现应将人工审批已关联到后续的支付/订单执行步骤。

  • 原型安全性:生产环境需要更强的校验与认证,安全的会话管理,并防范恶意或被盗用的多类代理。

未来方向

可能的改进方向包括:

  • 代理身份认证与统一管理

  • 用户级消费限额

  • 动态风险评分

  • 代理信任 / 信誉评分

  • 自适应策略阈值

  • 支付状态 Webhook

  • 完整支付捕获流程

  • 更安全的 Dashboard 认证

  • 欺诈识别

  • 高级分析

  • 更全面的自动化测试

🏆 一句话说明

SafeCart-AI 是一个策略受控的 MCP 商务网关,让 AI 代理代表用户购物,同时强制执行可解释的消费限额、高风险购买的人工审批,以及全量审计追踪。

核心原则

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

人工智能只负责发起请求,策略负责决策,人类掌控风险;支付流程仅在完成授权后执行。

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