This documentation always describes the current state of the main branch.
| Requirement | Note |
|---|---|
| Node.js 20 or newer | Set through engines in package.json. |
| npm | Ships with Node.js, needed for npm install and the build. |
| Claude Code | Or any other MCP client with stdio transport. |
| Shopware 6 | The Admin API must be reachable from the machine running the MCP server. The code does not check a minimum version. |
| Shopware integration | Client ID and client secret, see Configuration. |
The server is built from the repository. The repository does not document publishing through a package registry.
git clone https://github.com/markus-michalski/claude-mcp-shopwareadmin.git
cd claude-mcp-shopwareadmin
npm install
cp .env.example .env
# fill .env with the Shopware credentials
npm run build
The build (tsc) writes to dist/. The entry point is dist/index.js.
cp content-profiles.example.json content-profiles.json
Without this file the built-in profiles apply. See Configuration for details.
mkdir -p ~/.claude/mcp-servers/shopwareadmin
cp -r dist node_modules package.json .env ~/.claude/mcp-servers/shopwareadmin/
# optional: also copy content-profiles.json
The server reads its .env from ~/.claude/mcp-servers/shopwareadmin/.env first. If that file does not exist it uses the .env in the working directory of the process. Only one of the two files is ever read.
claude mcp add --scope user --transport stdio shopwareadmin -- \
node ~/.claude/mcp-servers/shopwareadmin/dist/index.js
Run claude mcp list to check that the server is registered.
The configuration can also come from the process environment. Environment variables take precedence over the .env file.
{
"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_URLmust be set even though the server never uses the wiki address. Without a valid URL it does not start. See Configuration for details.
cd claude-mcp-shopwareadmin
git pull
npm install
npm run build
cp -r dist node_modules package.json ~/.claude/mcp-servers/shopwareadmin/
Then restart the MCP server or Claude Code. Configuration and content profiles are only read at startup.
claude mcp remove shopwareadminrm -rf ~/.claude/mcp-servers/shopwareadmin (it holds the .env with the client secret)Commands for development are listed under Technical details.