v2: Session-Login & Rollen, Premium-Admin, Visual-Block-Builder, KI-/MCP-API
- Auth-Umbau: Session-Login (signiertes HMAC-Cookie, scrypt-Hashing) statt Basic-Auth; users-/audit-Tabellen, Initial-Owner aus ENV, Rate-Limit, konfigurierbarer ADMIN_PATH (Middleware-Rewrite), Rollen-Gate (owner/redaktion/versand), Nutzerverwaltung, Audit-Log, Login/Logout/Konto-Seiten. - Premium-Pass: Command-Palette (Cmd-K), Toasts, Account-Menue, aufgewertetes Dashboard (KPI-Trend+Sparkline, Aktivitaets-Feed, Schnellaktionen), schoene Empty-States. - Block-Builder: pages.blocks, Vollbild-Editor (Liste/Live-Vorschau/Settings, Desktop/Mobil), 10 Block-Typen, Storefront-BlockRenderer auf /seite/[slug], Save-Endpoint. - KI-Editierbarkeit: token-gesicherte /api/admin/* (CRUD), Manifest /api/admin + /ai-admin.txt, MCP-Server unter mcp/ (14 Tools). - Docs: README + .env.example + mcp/README aktualisiert.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# hd-commerce — MCP-Server
|
||||
|
||||
Ein [Model Context Protocol](https://modelcontextprotocol.io)-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
|
||||
|
||||
```bash
|
||||
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):
|
||||
|
||||
```json
|
||||
{
|
||||
"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
|
||||
|
||||
```bash
|
||||
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).
|
||||
```
|
||||
Reference in New Issue
Block a user