claude-mcp-shopwareadmin ist ein MCP Server (Model Context Protocol), der Claude die direkte Steuerung der Shopware 6 Admin API ermoeglicht. Mit 43 spezialisierten Tools deckt er den kompletten Shop-Management-Workflow ab: von der Produkterstellung ueber Content-Generierung und SEO-Optimierung bis hin zu Bestelluebersichten und BFSG-konformem Media-Management.
Dieser MCP Server ermoeglicht Claude die direkte Interaktion mit deinem Shopware 6 Shop - Produkte anlegen, Beschreibungen generieren, SEO optimieren, Bestellungen pruefen und Media verwalten, ohne manuelles Copy-Paste oder Browser-Wechsel.
Produktpflege: "Lege ein neues Produkt an mit dem Namen 'Stickmuster Blumenwiese', Preis 4,99 EUR in der Kategorie Stickdateien" - Claude erstellt das Produkt direkt im Shop (inaktiv zum Pruefen).
Content-Generierung: "Schreibe eine Produktbeschreibung fuer Produkt XY" - Claude erkennt automatisch den Stil (Kreativ fuer Stickdateien, Professionell fuer Software) und generiert passenden Content.
Eigene Content-Stile: Du kannst eigene Stil-Profile definieren (z.B. "B2B" mit formeller Anrede) und Kategorien zuordnen - ohne Code-Aenderungen. Siehe Content-Profile konfigurieren.
SEO-Optimierung: "Optimiere die SEO-Daten fuer alle Produkte in der Kategorie Software" - Claude generiert Meta-Titel, Beschreibung und Keywords pro Produkt.
BFSG-Compliance: "Pruefe welche Produktbilder keinen Alt-Text haben" - Claude fuehrt ein BFSG-Audit durch und listet alle betroffenen Medien.
Bestellanalyse: "Zeig mir die Bestellstatistiken der letzten 30 Tage" - Claude ruft aggregierte Daten ab (Umsatz, Bestellanzahl, Durchschnittswert).
| Anforderung | Version | Hinweise |
|---|---|---|
| Node.js | >= 20.0.0 | LTS empfohlen |
| npm | >= 9 | Wird mit Node.js mitgeliefert |
| Claude Desktop oder CLI | Aktuell | MCP-Client erforderlich |
| Shopware 6 | >= 6.5 | Admin API muss erreichbar sein |
| Shopware Integration | - | API-Zugangsdaten mit passenden Berechtigungen |
Die Shopware-Integration muss Lese-/Schreibrechte auf die relevanten Entitaeten haben (Produkte, Kategorien, Mail-Templates, Media, etc.). Fuer reine Leseoperationen genuegen Read-Rechte.
git clone https://github.com/markus-michalski/claude-mcp-shopwareadmin.git
cd claude-mcp-shopwareadmin
npm install
npm run build
# Nach dem Build in das MCP-Server-Verzeichnis kopieren
mkdir -p ~/.claude/mcp-servers/shopwareadmin
cp -r dist node_modules package.json .env ~/.claude/mcp-servers/shopwareadmin/
# Optional: Content-Profile anpassen und mitkopieren
cp content-profiles.example.json ~/.claude/mcp-servers/shopwareadmin/content-profiles.json
Erstelle eine .env-Datei basierend auf .env.example:
| Variable | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
SHOPWARE_URL |
Ja | - | Basis-URL des Shopware-Shops (z.B. https://shop.example.com) |
SHOPWARE_CLIENT_ID |
Ja | - | OAuth2 Client ID der Shopware-Integration |
SHOPWARE_CLIENT_SECRET |
Ja | - | OAuth2 Client Secret der Shopware-Integration |
SHOPWARE_DEFAULT_TAX_ID |
Ja | - | Standard-Steuersatz-ID (32-Zeichen Hex) |
SHOPWARE_DEFAULT_TAX_RATE |
Ja | 19 |
Standard-Steuersatz in Prozent |
SHOPWARE_DEFAULT_SALES_CHANNEL_ID |
Ja | - | Standard-Sales-Channel-ID (32-Zeichen Hex) |
SHOPWARE_DEFAULT_CURRENCY_ID |
Nein | b7d2554b0ce847cd82f3ac9bd1c0dfca |
Waehrungs-ID (Standard: EUR) |
CONTENT_PROFILES_PATH |
Nein | - | Pfad zur content-profiles.json (absolut oder relativ zum cwd). Siehe Content-Profile konfigurieren |
WIKIJS_BASE_URL |
Nein | https://faq.markus-michalski.net |
Basis-URL fuer Wiki.js-Verlinkungen |
CACHE_TTL_CATEGORIES |
Nein | 3600000 |
Cache-TTL fuer Kategorien (ms, 1 Stunde) |
CACHE_TTL_PROPERTIES |
Nein | 3600000 |
Cache-TTL fuer Properties (ms, 1 Stunde) |
CACHE_TTL_SNIPPETS |
Nein | 300000 |
Cache-TTL fuer Snippets (ms, 5 Minuten) |
LOG_LEVEL |
Nein | info |
Log-Level: debug, info, warn, error |
| Entitaet | Lesen | Schreiben | Hinweis |
|----------|-------|-----------|---------||
| product | Ja | Ja | Produkte erstellen/aktualisieren |
| category | Ja | Nein | Kategoriebaum lesen |
| property_group | Ja | Nein | Produkteigenschaften lesen |
| product_manufacturer | Ja | Nein | Hersteller lesen |
| tax | Ja | Nein | Steuersaetze lesen |
| currency | Ja | Nein | Waehrungen lesen |
| mail_template | Ja | Ja | Templates lesen/aktualisieren |
| media | Ja | Ja | Media verwalten, Alt-Texte |
| order | Ja | Nein | Bestellungen lesen |
| sales_channel | Ja | Nein | Sales Channel Kontext |
| seo_url | Ja | Ja | SEO URLs verwalten |
| product_cross_selling | Ja | Ja | Cross-Selling verwalten |
| flow | Ja | Ja | Flow Builder steuern |
.env-Datei uebernehmenVerwende separate Integrationen fuer verschiedene Umgebungen (Staging/Produktion). Teile niemals Client Secrets ueber unsichere Kanaele.
claude mcp add --scope user --transport stdio shopwareadmin -- \
node ~/.claude/mcp-servers/shopwareadmin/dist/index.js
{
"mcpServers": {
"shopwareadmin": {
"command": "node",
"args": ["/home/user/.claude/mcp-servers/shopwareadmin/dist/index.js"],
"env": {
"SHOPWARE_URL": "https://shop.example.com",
"SHOPWARE_CLIENT_ID": "SWIA...",
"SHOPWARE_CLIENT_SECRET": "...",
"SHOPWARE_DEFAULT_TAX_ID": "...",
"SHOPWARE_DEFAULT_SALES_CHANNEL_ID": "..."
}
}
}
}
cd claude-mcp-shopwareadmin
npm run dev
# Server startet mit tsx watch und restartet bei Aenderungen
Neu in v1.1.0: Content-Stil-Profile sind jetzt ueber eine externe JSON-Datei konfigurierbar. Du kannst eigene Stile, Tonalitaeten, Anrede-Formen und Kategorie-Zuordnungen definieren - ganz ohne Code-Aenderungen.
Der MCP Server nutzt Content-Profile, um Produktbeschreibungen und SEO-Texte im passenden Stil zu generieren. Jedes Profil definiert Tonalitaet, Anrede, Textstruktur und Zielgruppe. Ueber ein Kategorie-Mapping wird automatisch das richtige Profil anhand der Produkt-Kategorie ausgewaehlt.
Bisher waren diese Profile fest im Code verankert. Ab v1.1.0 koennen sie ueber eine content-profiles.json frei angepasst werden.
Der Server sucht die Konfigurationsdatei in dieser Reihenfolge:
CONTENT_PROFILES_PATH Environment Variable (absolut oder relativ)~/.claude/mcp-servers/shopwareadmin/content-profiles.json (Deployment-Pfad)./content-profiles.json (lokales Verzeichnis)Wird keine Datei gefunden, werden die eingebauten Standard-Profile (Creative + Software) verwendet.
Die Konfigurationsdatei wird beim Server-Start einmalig geladen und mit Zod vollstaendig validiert. Fehlerhafte Dateien fuehren zu einem klaren Fehler mit Verweis auf
content-profiles.example.json.
Erstelle eine content-profiles.json basierend auf der mitgelieferten content-profiles.example.json:
{
"language": "de",
"defaultProfile": "creative",
"profiles": {
"creative": {
"tonality": "Persoenlich, warm, emotional",
"addressing": "du",
"structure": [
"Emotionaler Einstieg (Frage/Anekdote)",
"Was ist es?",
"Technische Details (Format, Groesse)",
"Anwendungstipps"
],
"targetAudience": "Hobbybastler, Kreative, DIY-Enthusiasten",
"exampleIntro": "Was waere denn Ostern ohne den Osterhasen?",
"includeSnippets": false
},
"software": {
"tonality": "Professionell, sachlich, loesungsorientiert",
"addressing": "Sie",
"structure": [
"Problem-Statement",
"Loesungsansatz",
"Feature-Tabelle",
"Systemanforderungen",
"Dokumentations-Links"
],
"targetAudience": "Shop-Betreiber, Entwickler, Agenturen",
"exampleIntro": "Spam-Schutz ohne Google, ohne Cookies, ohne Bild-Puzzles.",
"includeSnippets": true
}
},
"categoryMapping": {
"Software": "software",
"Stickdateien": "creative",
"Genaehtes": "creative",
"3D-Druck": "creative"
}
}
| Parameter | Typ | Beschreibung |
|---|---|---|
language |
string | Sprache der generierten Inhalte (z.B. "de", "en") |
defaultProfile |
string | Fallback-Profil, wenn keine Kategorie-Zuordnung passt |
profiles |
object | Stil-Profile (mindestens eins erforderlich) |
profiles.*.tonality |
string | Tonalitaet der Texte (z.B. "Persoenlich, warm") |
profiles.*.addressing |
"du" / "Sie" |
Anrede-Form |
profiles.*.structure |
string[] | Textstruktur-Vorgaben fuer die Generierung |
profiles.*.targetAudience |
string | Zielgruppe fuer den generierten Content |
profiles.*.exampleIntro |
string | Beispiel-Einstieg als Orientierung fuer Claude |
profiles.*.includeSnippets |
boolean | Ob Produkt-Textbausteine eingebunden werden sollen. Erfordert das Plugin Produkt-Textbausteine |
categoryMapping |
object | Zuordnung Kategoriename → Profilname |
Alle Werte in
categoryMappingmuessen auf existierende Profile verweisen. DerdefaultProfilemuss ebenfalls existieren. Zod prueft das beim Laden automatisch.
Du kannst beliebig viele Profile erstellen. Hier ein Beispiel fuer ein drittes B2B-Profil:
{
"language": "de",
"defaultProfile": "creative",
"profiles": {
"creative": { "..." : "..." },
"software": { "..." : "..." },
"b2b": {
"tonality": "Formell, sachlich, datengetrieben",
"addressing": "Sie",
"structure": [
"Geschaeftlicher Nutzen",
"ROI-Argumentation",
"Technische Spezifikationen",
"Integrations-Moeglichkeiten"
],
"targetAudience": "Einkaufsleiter, IT-Entscheider",
"exampleIntro": "Optimieren Sie Ihre Beschaffungsprozesse.",
"includeSnippets": true
}
},
"categoryMapping": {
"Software": "software",
"Stickdateien": "creative",
"B2B-Loesungen": "b2b"
}
}
Danach den MCP Server neu starten - die neuen Profile sind sofort verfuegbar. Der style-Parameter in product_generate_content und category_generate_content akzeptiert dann auch "b2b".
| Bereich | Tools | Beschreibung |
|---|---|---|
| Produkte | 6 | CRUD, Suche, Aktivierung |
| Content | 4 | Beschreibungen, SEO, Varianten |
| Kategorien | 3 | Baum, Details, SEO-Update |
| Mail-Templates | 4 | CRUD, Test-Versand |
| Bestellungen | 3 | Liste, Details, Statistiken |
| Media | 6 | CRUD, Suche, BFSG-Audit, Upload |
| Flow Builder | 3 | Liste, Details, Toggle |
| Cross-Selling | 5 | CRUD, AI-Empfehlungen |
| SEO URLs | 4 | Liste, Audit, Update, Regenerierung |
| Helfer | 3 | Properties, Hersteller, Snippets |
| Gesamt | 41 |
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
product_create |
Neues Produkt erstellen (immer inaktiv!) | name, productNumber, price, categoryId |
product_get |
Produktdetails mit Varianten, Media, Properties | id oder productNumber |
product_list |
Produkte filtern und paginieren | search, categoryId, active, limit, offset |
product_update |
Produkt aktualisieren | id, name, price, description, stock, tags, customFields |
product_set_active |
Produkt aktivieren/deaktivieren | id, active |
search_products |
Volltextsuche ueber alle Produkte | query, limit |
Produkte werden bei der Erstellung IMMER als inaktiv angelegt. Das ist ein bewusstes Sicherheitsfeature - erst pruefen, dann aktivieren.
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
product_generate_content |
Generierungs-Prompt fuer Produktbeschreibung | productId, style, maxLength |
product_generate_seo |
SEO-Metadaten generieren | productId, maxTitleLength, maxDescriptionLength |
variant_generate_content |
Variantenspezifische Beschreibung | variantId, inheritFromParent, focusOnOptions |
content_update |
Generierten Content am Produkt speichern | productId, description, metaTitle, metaDescription, keywords |
Der Content-Generator erkennt automatisch den passenden Stil anhand der Produktkategorie. Die Zuordnung wird aus der content-profiles.json geladen (oder nutzt die Built-in Defaults):
Standard-Konfiguration:
| Kategorie | Stil | Tonalitaet | Anrede |
|---|---|---|---|
| Stickdateien | creative | Persoenlich, warm, emotional | "du" |
| Genaehtes | creative | Persoenlich, warm, emotional | "du" |
| 3D-Druck | creative | Persoenlich, warm, emotional | "du" |
| Software | software | Professionell, sachlich | "Sie" |
Der Stil kann mit dem Parameter style auch manuell erzwungen werden. Eigene Profile koennen ueber die content-profiles.json hinzugefuegt werden (siehe Content-Profile konfigurieren).
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
category_list |
Kategoriebaum abrufen | depth, parentId, includeInactive |
category_get |
Kategorie-Details + optional Produkte | id, includeProducts, productLimit |
category_generate_content |
SEO-Text fuer Kategorie generieren | id, maxLength, style |
category_update |
Kategorie-SEO aktualisieren | id, description, metaTitle, metaDescription, keywords |
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
mail_template_list |
Templates durchsuchen | search, limit, offset |
mail_template_get |
Template-Details + Twig-Variablen | id oder technicalName |
mail_template_update |
Template aktualisieren (Twig-Support) | id, subject, contentHtml, contentPlain |
mail_template_send_test |
Test-E-Mail senden | mailTemplateId, recipient |
Der Test-Versand ist rate-limited: maximal 5 Mails pro Template und 10 Mails insgesamt pro Minute.
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
order_list |
Bestellungen filtern | orderStatus, paymentStatus, deliveryStatus, dateFrom, dateTo |
order_get |
Bestelldetails mit Line Items | id oder orderNumber |
order_stats |
Aggregierte Statistiken | dateFrom, dateTo |
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
media_list |
Media filtern (auch nach fehlendem Alt-Text) | hasAlt, mimeTypePrefix, limit |
media_get |
Media-Details + verwendete Produkte | id |
media_update |
Alt-Text und Titel aktualisieren | id, alt, title |
media_search |
Volltextsuche in Media | query, limit |
media_audit_alt |
BFSG-Audit: Produkte ohne Alt-Text | onlyActive, limit |
media_upload_url |
Media von URL hochladen | url, alt, title |
Das BFSG-Audit-Tool (
media_audit_alt) ist essenziell fuer die Einhaltung des deutschen Barrierefreiheitsstaerkungsgesetzes. Alle Produktbilder MUESSEN einen beschreibenden Alt-Text haben.
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
flow_list |
Flows auflisten und filtern | active, eventName, hasMailAction, search |
flow_get |
Flow-Details mit Sequences | id oder name |
flow_toggle |
Flow aktivieren/deaktivieren | id, active |
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
cross_selling_list |
Cross-Selling-Gruppen eines Produkts | productId |
cross_selling_get |
Gruppendetails + zugewiesene Produkte | id |
cross_selling_create |
Neue Cross-Selling-Gruppe erstellen | productId, name, type, assignedProductIds |
cross_selling_update |
Gruppe aktualisieren | id, name, assignedProductIds, active |
cross_selling_suggest |
AI-Kontext fuer Empfehlungen | productId, limit |
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
seo_url_list |
SEO URLs filtern | routeName, salesChannelId, isCanonical, search |
seo_url_audit |
Audit auf Probleme | routeName, salesChannelId, limit |
seo_url_update |
URL-Pfad/Canonical aendern | id, seoPathInfo, isCanonical, isDeleted |
seo_url_generate |
SEO URLs regenerieren | routeName, salesChannelId |
| Tool | Beschreibung | Wichtige Parameter |
|---|---|---|
get_properties |
Produkt-Eigenschaften und Optionen | groupId |
get_manufacturers |
Hersteller/Brands auflisten | search, limit |
snippet_list |
Produkt-Snippets (Plugin-abhaengig) | activeOnly |
Produkt anlegen:
"Lege ein neues Produkt an: Name 'ITH Tasche Fruehlingsblumen', Produktnummer 'ITH-FB-001', Preis 5.99 EUR, Kategorie Stickdateien."
Produktbeschreibung generieren:
"Generiere eine Beschreibung fuer das Produkt mit der Nummer ITH-FB-001."
Claude laedt das Produkt, erkennt den Stil (Kreativ fuer Stickdateien) und generiert eine passende Beschreibung.
SEO-Optimierung:
"Generiere SEO-Metadaten fuer das Produkt 'OXID Sitemap Modul' und speichere sie."
Content mit bestimmtem Stil:
"Generiere eine Beschreibung fuer Produkt XY im Stil 'b2b'."
Claude nutzt das angegebene Profil aus der content-profiles.json statt der automatischen Erkennung.
BFSG-Audit:
"Welche aktiven Produktbilder haben keinen Alt-Text? Erstelle mir eine Liste."
Cross-Selling einrichten:
"Welche Produkte wuerden gut als Zubehoer zum Produkt XY passen?"
Claude nutzt cross_selling_suggest, um Kategorie-Nachbarn zu analysieren und Empfehlungen zu geben.
Bestellstatistiken:
"Wie viele Bestellungen hatten wir im Januar 2026 und wie hoch war der Umsatz?"
Mail-Template bearbeiten:
"Zeig mir das Template fuer die Bestellbestaetigung und aendere den Betreff auf 'Danke fuer deine Bestellung Nr. {{ order.orderNumber }}'."
Symptom: Claude zeigt den Server nicht als verbunden an oder Tools sind nicht verfuegbar.
Pruefen:
npm run build im Projektverzeichnis ausfuehrennode /pfad/zu/dist/index.js muss direkt funktionierennode --version pruefen.env-Datei im richtigen Verzeichnis?# Test ob der Server startet:
node /pfad/zu/dist/index.js
# Sollte auf stdin/stdout warten (kein Fehler)
Symptom: Fehlermeldung AUTH_FAILED oder Could not authenticate with Shopware.
Pruefen:
SHOPWARE_CLIENT_ID und SHOPWARE_CLIENT_SECRET korrekt?curl -s https://shop.example.com/api/oauth/token testenOAuth2-Tokens werden automatisch gecacht und 60 Sekunden vor Ablauf erneuert. Bei persistenten Auth-Fehlern die Integration in Shopware pruefen.
Symptom: Tool-Aufrufe dauern sehr lange oder brechen mit Timeout ab.
Pruefen:
Symptom: API_ERROR mit Status 403 oder Forbidden.
Pruefen:
bin/console cache:clear)Symptom: Produkte/Kategorien werden nicht gefunden, obwohl sie existieren.
Pruefen:
b7d2554b0ce847cd82f3ac9bd1c0dfca)Symptom: Eigene Stile werden nicht erkannt oder es kommen Validierungsfehler.
Pruefen:
node -e "JSON.parse(require('fs').readFileSync('content-profiles.json','utf8'))" testendefaultProfile auf ein existierendes Profil?categoryMapping-Werte auf existierende Profile?tonality, addressing, structure, targetAudience, exampleIntro)?addressing exakt "du" oder "Sie" (Gross-/Kleinschreibung beachten)?src/
├── index.ts # MCP Server Entry Point + Tool Dispatch
├── bootstrap.ts # Dependency Injection Setup
├── config/
│ ├── Configuration.ts # .env Laden und Validierung
│ ├── ContentProfilesSchema.ts # Zod-Schema fuer content-profiles.json
│ ├── ContentProfilesLoader.ts # Datei-Suche und Laden mit Fallback
│ └── ContentProfilesDefaults.ts # Eingebaute Standard-Profile
├── core/
│ ├── domain/ # Pure Domain Entities (13 Dateien)
│ └── services/ # Business Logic (12 Services + Tests)
├── application/
│ └── schemas/ # Zod Input Validation (11 Schema-Dateien)
├── infrastructure/
│ ├── shopware/ # OAuth2 Auth + HTTP Client
│ ├── cache/ # InMemory Cache mit TTL
│ └── logging/ # stderr Logging (MCP-konform)
├── tools/
│ ├── definitions.ts # Alle 43 Tool-Definitionen
│ └── handlers/ # Tool Handler (11 Dateien)
└── test/ # Test-Fixtures und Setup (MSW)
| Eigenschaft | Wert |
|---|---|
| Transport | stdio (stdin/stdout) |
| MCP Version | 1.0 |
| Serialisierung | JSON |
| Logging | stderr (keine stdout-Kontamination) |
| Tool Count | 43 |
| Daten | TTL | Begruendung |
|---|---|---|
| Kategorien | 1 Stunde | Aendern sich selten |
| Properties | 1 Stunde | Aendern sich selten |
| Hersteller | 1 Stunde | Aendern sich selten |
| Snippets | 5 Minuten | Koennen sich aendern |
| Einzelne Produkte | 5 Minuten | Moderate Aenderungsrate |
| Mail Templates | 10 Minuten | Selten geaendert |
| Bestellungen | Kein Cache | Immer aktuell benoetigt |
| Media | Kein Cache | Aktualitaet wichtig |
| Content-Profile | Einmalig beim Start | Nur bei Neustart aktualisiert |
Der InMemory-Cache hat ein Maximum von 500 Eintraegen und fuehrt alle 60 Sekunden ein Auto-Pruning abgelaufener Eintraege durch.
Was ist MCP?
MCP (Model Context Protocol) ist ein offener Standard von Anthropic, der es AI-Modellen wie Claude ermoeglicht, mit externen Diensten zu interagieren. Der MCP Server fungiert als Bruecke zwischen Claude und der Shopware Admin API.
Funktioniert der Server auch mit Shopware 5?
Nein. Der Server nutzt die Shopware 6 Admin API, die sich grundlegend von Shopware 5 unterscheidet. Eine Portierung ist nicht geplant.
Welche Node.js-Version brauche ich?
Mindestens Node.js 20. Die CI-Pipeline testet gegen Node.js 20 und 22.
Kann Claude damit Bestellungen aendern?
Nein. Die Bestell-Tools sind bewusst read-only. Bestellungen koennen nur gelesen und statistisch ausgewertet werden. Aenderungen an Bestellungen sollten manuell im Shopware Admin erfolgen.
Was passiert bei einem API-Fehler?
Der Server gibt strukturierte Fehlermeldungen mit Error-Code, Beschreibung und einer Suggestion zurueck. Bei temporaeren Fehlern (Rate Limiting, Token-Ablauf) wird automatisch ein Retry durchgefuehrt.
Funktioniert der Server mit Claude Desktop?
Ja. Die Konfiguration erfolgt ueber die claude_desktop_config.json (siehe Abschnitt Konfiguration). Der Server nutzt stdio-Transport und ist mit allen MCP-kompatiblen Clients kompatibel.
Werden Produkte sofort im Shop sichtbar?
Nein. Produkte werden immer als inaktiv erstellt. Du musst sie explizit ueber product_set_active aktivieren, nachdem du sie geprueft hast.
Wie funktioniert die Content-Stil-Erkennung?
Der Server liest die Kategorie-Breadcrumbs des Produkts und matched gegen das konfigurierte categoryMapping. Die Zuordnung und die Profile selbst koennen ueber eine content-profiles.json angepasst werden. Ohne Konfigurationsdatei werden die eingebauten Standard-Profile (Creative + Software) verwendet. Der Stil kann auch per style-Parameter manuell erzwungen werden.
Wie passe ich die Content-Profile an?
Kopiere content-profiles.example.json nach content-profiles.json, passe die Profile an und starte den MCP Server neu. Du kannst beliebig viele Profile definieren und Kategorien zuordnen. Details siehe Content-Profile konfigurieren.
Muss ich eine content-profiles.json erstellen?
Nein. Ohne Konfigurationsdatei verwendet der Server die eingebauten Standard-Profile (Creative und Software). Die Datei ist nur noetig, wenn du eigene Stile, Tonalitaeten oder Kategorie-Zuordnungen brauchst.
MIT License - Lizenztext auf GitHub
Repository: github.com/markus-michalski/claude-mcp-shopwareadmin
Issues: GitHub Issues
Siehe CHANGELOG.md auf GitHub fuer die vollstaendige Aenderungshistorie.