430fa718fa
Feature 1 — Rabatt-Engine (store-sqlite.js): - Tabellen discounts + discount_redemptions; orders um discount_code/discount_cents erweitert. - Helper: getDiscountByCode, listDiscounts, create/update/deleteDiscount, validateDiscount (Zeitplan/Mindestwert/Limits/pro-Kunde), bestAutoDiscount, redeemDiscount. - Seed: WILLKOMMEN10, NAEHEN5, GRATISVERSAND (geplant), AUTO15AB75 (auto). - Checkout: /api/discount (serverseitige Subtotal-Berechnung) + /api/checkout re-validiert, wendet Rabatt/Gratisversand an, speichert + redeemt, auto-Discount-Fallback, Stripe-Coupon. - Cart/Checkout-UI mit Code-Feld + Einlösen; Rabattzeile in Order-Detail + Erfolgsseite. - Admin "Rabatte" (owner+redaktion) mit Status-Badges + Editor (Zufallscode, Typ-abh. Wertfeld). - Popups: Typ discount zeigt Code + Kopieren-Button; Stile modal/slidein/bar (CSS ergaenzt). Feature 2 — 404: - src/pages/404.astro nutzt Base + BlockRenderer, laedt System-Seite slug 404. - ensureSystemPages() legt 404 idempotent bei jedem Boot an (INSERT OR IGNORE, flache Bloecke). - 404/system erscheint in Admin "Inhalte" und oeffnet im Block-Editor. API/MCP: discounts in /api/admin/* (CRUD), Manifest + ai-admin.txt ergaenzt (inkl. Hinweis: Block-Objekte sind flach); MCP list/upsert/delete_discount. README + Versionen (2.1.0) aktualisiert.
hd-commerce — MCP-Server
Ein Model Context Protocol-Server (stdio), mit dem ein LLM/Agent
einen hd-commerce-Shop bearbeiten kann. Der Server ruft die token-gesicherte Admin-API
(/api/admin/*) des Shops auf.
Voraussetzungen
- Laufende hd-commerce-Instanz mit gesetztem
HDC_API_TOKEN. - Node 18+ (für globales
fetch).
Installation
cd mcp
npm install
Konfiguration (ENV)
| Variable | Beschreibung | Beispiel |
|---|---|---|
HDC_BASE_URL |
Basis-URL des Shops | https://shop.example.com |
HDC_API_TOKEN |
gleiches Token wie in der Shop-Instanz | geheimes-token |
Tools
| Tool | Zweck |
|---|---|
list_products / get_product / upsert_product / delete_product |
Produkte verwalten |
list_pages / get_page / create_page |
Seiten lesen/anlegen |
update_page_blocks |
Block-Struktur einer Seite (Visual-Builder) setzen |
list_slides / upsert_slide |
Slider verwalten |
list_orders |
Bestellungen lesen |
get_settings / update_settings |
Shop-Einstellungen (Name, Farben …) |
get_manifest |
Vollständiges API-Manifest |
In Claude Desktop / Cowork registrieren
claude_desktop_config.json (bzw. die MCP-Konfiguration):
{
"mcpServers": {
"hd-commerce": {
"command": "node",
"args": ["/absoluter/pfad/zu/hd-commerce/mcp/server.js"],
"env": {
"HDC_BASE_URL": "https://shop.example.com",
"HDC_API_TOKEN": "geheimes-token"
}
}
}
}
Danach den Client neu starten. Der Server meldet sich als hd-commerce mit obigen Tools.
Schneller Start-Check
HDC_BASE_URL=http://localhost:4321 HDC_API_TOKEN=testtoken node server.js
# Gibt auf stderr "bereit" aus und wartet auf stdio-Anfragen (mit Ctrl-C beenden).