safe-cart-ai
SafeCart-AI
トラック: 01 — AI グロース & エージェンティック・コマース
問題: まもなく、人々は販売者のボットとチャットして買い物をするのではなく、自分自身の AI エージェントに買い物を依頼するようになるでしょう。販売者には、AI エージェントがカタログを閲覧し、顧客に代わってお金を使うことを安全に許可する方法が必要です。このプロジェクトは、その欠けている信頼レイヤーを提供します。
機能
SafeCart-AI は、Model Context Protocol を通じて、販売者の商品カタログをあらゆる MCP 互換 AI エージェント(Claude など)に公開します。
エージェントは商品を閲覧して購入をリクエストできますが、すべての購入は 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 は、ポリシーレイヤーが購入リクエストを承認した後にのみ呼び出されます。これにより、意思決定ロジックを支払い統合から分離し、購入決定を説明可能かつ監査可能にします。
このプロジェクトは次の原則に基づいて設計されています:
AI は購入をリクエストでき、ポリシーが許可するかどうかを決定し、高リスクの購入は人間の承認を必要とすることができます。
ポリシールール
現在のデモでは以下の制限を使用しています:
購入金額 | 決定 |
≤ ₹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 ツールとして公開 |
| 購入ポリシーを適用し決定を記録 |
| Razorpay テストモード注文を作成 |
| 人間の承認/拒否ダッシュボードを提供 |
| AI エージェントをシミュレートし MCP フローをテスト |
| 販売者の商品カタログ |
| SQLite 監査データベース |
セットアップ
1. 仮想環境を作成する
Windows:
python -m venv venv
venv\Scripts\activateLinux/macOS:
python3 -m venv venv
source venv/bin/activate2. 依存関係をインストールする
pip install -r requirements.txt3. 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. ダッシュボードを起動する
別のターミナルを開きます:
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 のメカニカルキーボードをリクエストしたとします。
自動承認の制限を超えているが、人間によるレビューの範囲内であるため:
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 サーバーは 4 つの主要なツールを公開します:
browse_products()
販売者の現在の商品カタログを返します。
get_product_details(product_id)
特定の商品の詳細情報を返します。
request_purchase(product_id, quantity, reason)
ユーザーに代わって購入をリクエストします。リクエストは、Razorpay 注文が作成される前にポリシーエンジンによって評価されます。
get_audit_trail()
現在のセッションの購入試行とその決定を返します。
監査証跡
すべての購入試行は SQLite に保存されます。
監査レコードには以下が含まれます:
タイムスタンプ
セッション ID
商品 ID
商品名
価格
数量
購入理由
決定
決定の説明
これにより、次のことを理解できます:
AI は何をリクエストしたか?なぜリクエストしたか?システムは何を決定したか?
デモスクリプト
プロジェクトのデモンストレーションのために:
MCP サーバーを AI エージェントに接続します。
AI エージェントに販売者のカタログを閲覧するよう依頼します。
明確な理由を添えてワイヤレスイヤホン (p001, ₹1,499) をリクエストします。
購入が自動承認され、Razorpay テスト注文が作成されることを示します。
メカニカルキーボード (p003, ₹3,499) をリクエストします。
ダッシュボードを通じて人間の承認が必要であることを示します。
4K ウェブカメラ (p005) をリクエストします。
在庫切れのリクエストがグレースフルに拒否されることを示します。
完全な監査証跡を示します。
テスト
主要な MCP フローを実行するためのテストエージェントが含まれています。
実行:
python test_agent.pyテストスクリプトは以下を示します:
MCP 接続
商品カタログの閲覧
低額の購入
中額の購入
在庫切れの購入
監査証跡の取得
何が壊れたか、そしてどのように解決されたか
1. 無効な購入理由
ポリシーレイヤーは、すべての購入に意味のある理由を要求します。理由が欠落しているか非常に短いリクエストは、説明のない購入を許可する代わりに拒否されます。
2. 在庫切れの商品
在庫切れのリクエストはポリシーレイヤー内で処理され、アプリケーションをクラッシュさせる代わりに明確な拒否として返されます。
3. Razorpay の失敗
Razorpay の注文作成はポリシー決定から分離してラップされています。ポリシー承認後にテスト注文の作成が失敗した場合、MCP サーバーは例外をキャッチし、クラッシュする代わりに明確な payment_error 結果を返します。
4. 支出制限
購入合計は、承認前に取引レベルの制限とセッション支出の上限の両方に対してチェックされます。
制限事項 / 今後の予定
これはハッカソン/デモの範囲に合わせて設計されたプロトタイプです。
セッション ID は簡略化されています: 現在の実装は、サーバー実行ごとに 1 つのセッション ID を使用します。本番システムでは、リクエストを認証されたエージェントとユーザーの ID に関連付ける必要があります。
ポリシーのしきい値は静的です: 本番バージョンでは、エージェントの信頼履歴、ユーザー設定、リスクスコア、または販売者のルールを使用して制限を調整できます。
テストモードの支払いのみ: このプロジェクトは Razorpay テストモードの注文を作成し、完全な実際の支払い回収フローは実装していません。
ダッシュボードの認証: 現在の Flask ダッシュボードはデモ用であり、本番では認証と認可を使用する必要があります。
人間の承認の実行: 現在のプロトタイプは人間の承認を監査データベースに記録します。本番実装では、承認アクションを後続の支払い/注文実行ステップに接続する必要があります。
プロトタイプのセキュリティ: 本番展開では、より強力な検証、認証、認可、安全なセッション管理、および悪意のあるまたは侵害されたエージェントからの保護が必要です。
今後の展望
可能な将来の改善には以下が含まれます:
エージェントの認証と ID 管理
ユーザー固有の支出上限
動的なリスクスコアリング
エージェントの信頼/評判スコアリング
適応型ポリシーのしきい値
支払いステータスのウェブフック
完全な支払い回収フロー
安全なダッシュボード認証
不正検出
高度な分析
より包括的な自動テスト
🏆 一言で言うと
SafeCart-AI は、ポリシー制御された MCP コマースゲートウェイであり、AI エージェントがユーザーに代わって買い物をしながら、説明可能な支出制限、リスクのある購入に対する人間の承認、完全な監査証跡を強制します。
中核となる原則
AI Agent
↓
Request Purchase
↓
Policy Engine
↓
┌──────────────┬─────────────────┬──────────────┐
│ │ │
Approved Human Review Rejected
│ │ │
↓ ↓ ↓
Razorpay Dashboard No Payment
Test Order Approval
│ │
└──────────────┴─────────────────┐
↓
Audit TrailAI がリクエストする。ポリシーが決定する。人間がリスクを制御する。支払いは認可後にのみ実行される。
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform e-commerce operations including product search, budget-constrained shopping recommendations, and sustainability analysis. Includes a secure HTTP bridge with OAuth integration and observability features for production deployment.
- AlicenseAqualityDmaintenanceEnables AI agents to create, compare, and track purchases with structured buying workflows, offer comparison, and merchant verification.5MIT
- AlicenseNot gradedqualityFmaintenanceEnables intelligent ecommerce tools for agents and applications, including product catalog access, product addition, and shopping policies.1Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to discover products, build carts, and complete purchases across multiple downstream commerce services through a secure, contract-driven API.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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