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

SafeCart-AI

Bereich: 01 — AI Growth & Agentic Commerce

Problem: Bald werden Menschen nicht mehr über den Bot eines Händlers einkaufen, sondern ihren eigenen KI-Agenten damit beauftragen, für sie einzukaufen. Händler brauchen eine sichere Möglichkeit, einem KI-Agenten das Durchsuchen ihres Katalogs und das Ausgeben von Geld im Namen eines Kunden zu erlauben. Dieses Projekt liefert diese fehlende Vertrauensebene.

Funktionen

SafeCart-AI stellt den Produktkatalog eines Händlers jedem MCP-kompatiblen KI-Agenten (wie Claude) über das Model Context Protocol bereit.

Der Agent kann Produkte durchsuchen und Käufe anfragen, aber jeder Kauf muss vor der Erstellung einer Razorpay-Testbestellung eine Policy-Engine durchlaufen.

Die Policy-Engine erzwingt:

  • Erklärbarkeit — der Agent muss einen sinnvollen Grund für den Kauf angeben.

  • Ausgabenlimit — Käufe werden durch Transaktionslimits und ein Sitzungslimit begrenzt.

  • Freigabeprozess — mittlere Beträge werden zur menschlichen Genehmigung weitergeleitet, anstatt automatisch ausgeführt zu werden.

  • Prüfpfad — Kaufversuche werden mit Anfrage, Begründung und Entscheidung protokolliert.

  • Fehlerbehandlung — ungültige Anfragen wie nicht vorrätige Produkte werden mit einer klaren Erklärung abgelehnt.

Related MCP server: agent-commerce-mcp-server

Architektur

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

Warum dieses Design?

Die Zahlungsintegration ist bewusst von der Policy-Engine getrennt.

razorpay_client.py wird erst aufgerufen, nachdem die Policy-Ebene eine Kaufanfrage genehmigt hat. Dadurch bleibt die Entscheidungslogik von der Zahlungsintegration getrennt und die Kaufentscheidung wird nachvollziehbar und prüfbar.

Das Projekt basiert auf dem Prinzip:

KI kann einen Kauf anfragen, die Policy entscheidet, ob er erlaubt ist, und risikoreichere Käufe können eine menschliche Genehmigung erfordern.

Policy-Regeln

Die aktuelle Demo verwendet folgende Limits:

Kaufbetrag

Entscheidung

≤ 2.000 ₹

Automatisch genehmigt

2.001–6.000 ₹

Menschliche Genehmigung erforderlich

> 6.000 ₹

Automatisch abgelehnt

Sitzungssumme > 15.000 ₹

Abgelehnt

Diese Werte können in policy.py angepasst werden.

Der Agent muss außerdem einen sinnvollen Kaufgrund angeben. Anfragen mit fehlendem oder sehr kurzem Grund werden abgelehnt.

Projektstruktur

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

Hauptdateien

Datei

Zweck

mcp_server.py

Stellt Händler- und Kauf-Funktionen als MCP-Tools bereit

policy.py

Wendet Kaufrichtlinien an und protokolliert Entscheidungen

razorpay_client.py

Erstellt Razorpay-Testbestellungen

dashboard.py

Stellt das Dashboard für menschliche Genehmigungen/Ablehnungen bereit

test_agent.py

Simuliert einen KI-Agenten und testet den MCP-Ablauf

data/products.json

Produktkatalog des Händlers

logs/audit.db

SQLite-Prüfdatenbank

Einrichtung

1. Virtuelle Umgebung erstellen

Windows:

python -m venv venv
venv\Scripts\activate

Linux/macOS:

python3 -m venv venv
source venv/bin/activate

2. Abhängigkeiten installieren

pip install -r requirements.txt

3. Razorpay-Testmodus konfigurieren

Erstellen Sie eine .env-Datei aus .env.example und fügen Sie Ihre Razorpay-TESTMODUS-Anmeldedaten hinzu:

RAZORPAY_KEY_ID=your_test_key_id
RAZORPAY_KEY_SECRET=your_test_key_secret

Übertragen Sie .env oder echte Anmeldedaten niemals auf GitHub.

Projekt ausführen

1. MCP-Server starten

python mcp_server.py

Dadurch wird der Server gestartet, mit dem sich ein MCP-kompatibler KI-Agent verbindet.

2. KI-Agenten verbinden

Fügen Sie für Claude Desktop den MCP-Server zu Ihrer Claude-Desktop-Konfiguration hinzu:

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

Ersetzen Sie /absolute/path/to/mcp_server.py durch den tatsächlichen Pfad auf Ihrem Computer.

Starten Sie Claude Desktop nach dem Speichern der Konfiguration neu.

Sie können den verbundenen KI-Agenten dann zum Beispiel fragen:

Browse this merchant's products.

oder:

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

3. Dashboard starten

Öffnen Sie ein weiteres Terminal:

python dashboard.py

Öffnen Sie dann:

http://localhost:5001

Das Dashboard dient zur Anzeige des Prüfpfads und zur Überprüfung von Käufen, die eine menschliche Genehmigung erfordern.

So funktioniert der Kaufablauf

Beispiel 1 — Automatisch genehmigter Kauf

Angenommen, der Benutzer fragt:

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

Der KI-Agent sendet eine Kaufanfrage mit Produkt, Menge und Grund.

Wenn der Gesamtbetrag innerhalb des automatischen Genehmigungslimits liegt:

Purchase Request
       ↓
Policy Check
       ↓
Approved
       ↓
Razorpay Test Order

Beispiel 2 — Menschliche Genehmigung

Angenommen, der Benutzer fordert die mechanische Tastatur für 3.499 ₹ an.

Da sie über dem automatischen Genehmigungslimit, aber innerhalb des Bereichs für die menschliche Prüfung liegt:

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

Hinweis zum Prototyp: Die aktuelle Implementierung protokolliert die Dashboard-Genehmigung in der Prüfdatenbank. Eine Produktionsimplementierung sollte diese Genehmigung mit dem anschließenden Schritt der Razorpay-Bestellabwicklung verbinden.

Beispiel 3 — Saubere Ablehnung

Wenn ein angefragtes Produkt nicht auf Lager ist:

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

Das System schlägt nicht stillschweigend fehl und fährt auch nicht mit der Zahlung fort.

MCP-Tools

Der MCP-Server stellt vier Hauptwerkzeuge bereit:

browse_products()

Gibt den aktuellen Produktkatalog des Händlers zurück.

get_product_details(product_id)

Gibt detaillierte Informationen zu einem bestimmten Produkt zurück.

request_purchase(product_id, quantity, reason)

Fordert einen Kauf im Namen des Benutzers an. Die Anfrage wird von der Policy-Engine ausgewertet, bevor eine Razorpay-Bestellung erstellt wird.

get_audit_trail()

Gibt Kaufversuche und deren Entscheidungen für die aktuelle Sitzung zurück.

Prüfpfad

Jeder Kaufversuch wird in SQLite gespeichert.

Der Prüfdatensatz enthält:

  • Zeitstempel

  • Sitzungs-ID

  • Produkt-ID

  • Produktname

  • Preis

  • Menge

  • Kaufgrund

  • Entscheidung

  • Begründung der Entscheidung

Dadurch ist es möglich zu verstehen:

Was hat die KI angefragt? Warum hat sie es angefragt? Was hat das System entschieden?

Demo-Skript

Für die Projektvorführung:

  1. Verbinden Sie den MCP-Server mit dem KI-Agenten.

  2. Bitten Sie den KI-Agenten, den Händlerkatalog zu durchsuchen.

  3. Fordern Sie die kabellosen Ohrhörer (p001, 1.499 ₹) mit einem klaren Grund an.

  4. Zeigen Sie, dass der Kauf automatisch genehmigt und eine Razorpay-Testbestellung erstellt wird.

  5. Fordern Sie die mechanische Tastatur (p003, 3.499 ₹) an.

  6. Zeigen Sie, dass eine menschliche Genehmigung über das Dashboard erforderlich ist.

  7. Fordern Sie die 4K-Webcam (p005) an.

  8. Zeigen Sie, dass die Anfrage für das nicht vorrätige Produkt sauber abgelehnt wird.

  9. Zeigen Sie den vollständigen Prüfpfad.

Testen

Ein Testagent ist enthalten, um den Haupt-MCP-Ablauf zu testen.

Ausführen:

python test_agent.py

Das Testskript demonstriert:

  • MCP-Verbindung

  • Produktkatalog durchsuchen

  • Kauf mit geringem Wert

  • Kauf mit mittlerem Wert

  • Kauf eines nicht vorrätigen Produkts

  • Abruf des Prüfpfads

Was schiefging und wie es gelöst wurde

1. Ungültige Kaufgründe

Die Policy-Ebene verlangt für jeden Kauf einen sinnvollen Grund. Anfragen mit fehlendem oder sehr kurzem Grund werden abgelehnt, anstatt einen unerklärten Kauf zu erlauben.

2. Nicht vorrätige Produkte

Eine Anfrage für ein nicht vorrätiges Produkt wird in der Policy-Ebene behandelt und als klare Ablehnung zurückgegeben, anstatt einen Absturz der Anwendung zu verursachen.

3. Razorpay-Fehler

Die Razorpay-Bestellerstellung ist getrennt von der Policy-Entscheidung gekapselt. Wenn die Erstellung einer Testbestellung nach einer Policy-Genehmigung fehlschlägt, fängt der MCP-Server die Ausnahme ab und gibt ein klares payment_error-Ergebnis zurück, anstatt abzustürzen.

4. Ausgabengrenzen

Die Kaufsummen werden vor der Genehmigung sowohl gegen die Transaktionslimits als auch gegen das Sitzungslimit geprüft.

Einschränkungen / Nächste Schritte

Dies ist ein Prototyp, der auf den Hackathon-/Demo-Umfang ausgelegt ist.

  • Die Sitzungsidentität ist vereinfacht: Die aktuelle Implementierung verwendet eine Sitzungs-ID pro Serverlauf. Ein Produktionssystem sollte Anfragen authentifizierten Agenten- und Benutzeridentitäten zuordnen.

  • Die Richtlinienschwellenwerte sind statisch: Eine Produktionsversion könnte die Limits mithilfe der Vertrauenshistorie des Agenten, Benutzereinstellungen, Risikobewertungen oder Händlerregeln anpassen.

  • Nur Testmodus-Zahlungen: Das Projekt erstellt Razorpay-Testbestellungen und implementiert keinen vollständigen Zahlungseinzugsprozess.

  • Dashboard-Authentifizierung: Das aktuelle Flask-Dashboard dient der Demonstration und sollte in der Produktion Authentifizierung und Autorisierung verwenden.

  • Ausführung der menschlichen Genehmigung: Der aktuelle Prototyp protokolliert eine menschliche Genehmigung in der Prüfdatenbank; eine Produktionsimplementierung sollte die Genehmigungsaktion mit dem anschließenden Zahlungs-/Auftragsausführungsschritt verbinden.

  • Prototypsicherheit: Eine Produktionsbereitstellung würde stärkere Validierung, Authentifizierung, Autorisierung, sicheres Sitzungsmanagement und Schutz vor böswilligen oder kompromittierten Agenten erfordern.

Zukünftiger Umfang

Mögliche zukünftige Verbesserungen umfassen:

  • Agentenauthentifizierung und Identitätsmanagement

  • Benutzerspezifische Ausgabengrenzen

  • Dynamische Risikobewertung

  • Vertrauens-/Reputationsbewertung von Agenten

  • Adaptive Richtlinienschwellenwerte

  • Webhooks für Zahlungsstatus

  • Vollständiger Zahlungseinzugsprozess

  • Sichere Dashboard-Authentifizierung

  • Betrugserkennung

  • Erweiterte Analysen

  • Umfassendere automatisierte Tests

🏆 Ein-Satz-Werbespruch

SafeCart-AI ist ein richtliniengesteuertes MCP-Commerce-Gateway, das es KI-Agenten ermöglicht, im Namen von Benutzern einzukaufen, während erklärbare Ausgabengrenzen, menschliche Genehmigung für riskante Käufe und ein vollständiger Prüfpfad durchgesetzt werden.

Kernprinzip

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

KI fragt an. Die Policy entscheidet. Menschen kontrollieren das Risiko. Die Zahlung wird nur nach Autorisierung ausgeführt.

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