Diese Dokumentation bezieht sich immer auf den aktuellen Stand des main-Branches.
| Anforderung | Hinweis |
|---|---|
| Node.js 20 oder neuer | Festgelegt über engines in der package.json. |
| npm | Wird mit Node.js geliefert, wird für npm install und den Build gebraucht. |
| Claude Code | Oder ein anderer MCP-Client mit stdio-Transport. |
| Shopware 6 | Die Admin API muss vom Rechner mit dem MCP-Server erreichbar sein. Eine Mindestversion prüft der Code nicht. |
| Shopware-Integration | Client-ID und Client-Secret, siehe Konfiguration. |
Der Server wird aus dem Repository gebaut. Eine Veröffentlichung über ein Paket-Register dokumentiert das Repository nicht.
git clone https://github.com/markus-michalski/claude-mcp-shopwareadmin.git
cd claude-mcp-shopwareadmin
npm install
cp .env.example .env
# .env mit den Shopware-Zugangsdaten füllen
npm run build
Der Build (tsc) schreibt nach dist/. Der Einstiegspunkt ist dist/index.js.
cp content-profiles.example.json content-profiles.json
Ohne diese Datei gelten die eingebauten Profile. Details stehen unter Konfiguration.
mkdir -p ~/.claude/mcp-servers/shopwareadmin
cp -r dist node_modules package.json .env ~/.claude/mcp-servers/shopwareadmin/
# optional: content-profiles.json mitkopieren
Der Server liest seine .env zuerst aus ~/.claude/mcp-servers/shopwareadmin/.env. Gibt es diese Datei nicht, nimmt er die .env aus dem Arbeitsverzeichnis des Prozesses. Es wird immer nur eine der beiden Dateien gelesen.
claude mcp add --scope user --transport stdio shopwareadmin -- \
node ~/.claude/mcp-servers/shopwareadmin/dist/index.js
Mit claude mcp list prüfst du, ob der Server eingetragen ist.
Die Konfiguration kann auch über die Prozessumgebung kommen. Variablen aus der Umgebung haben Vorrang vor der .env-Datei.
{
"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": "...",
"WIKIJS_BASE_URL": "https://wiki.example.com"
}
}
}
}
WIKIJS_BASE_URLmuss gesetzt sein, auch wenn der Server die Wiki-Adresse nirgends verwendet. Ohne gültige URL startet er nicht. Details unter Konfiguration.
cd claude-mcp-shopwareadmin
git pull
npm install
npm run build
cp -r dist node_modules package.json ~/.claude/mcp-servers/shopwareadmin/
Starte danach den MCP-Server beziehungsweise Claude Code neu. Konfiguration und Content-Profile werden nur beim Start eingelesen.
claude mcp remove shopwareadminrm -rf ~/.claude/mcp-servers/shopwareadmin (enthält die .env mit dem Client-Secret)Befehle für den Entwicklungsbetrieb stehen unter Technische Details.