https://github.com/shopware/shopware-admin-mcp
This MCP server provides AI assistants with direct access to Shopware's Admin API, enabling seamless product, category, order, and theme management.
https://github.com/shopware/shopware-admin-mcp
mcp-server shopware6
Last synced: 8 months ago
JSON representation
This MCP server provides AI assistants with direct access to Shopware's Admin API, enabling seamless product, category, order, and theme management.
- Host: GitHub
- URL: https://github.com/shopware/shopware-admin-mcp
- Owner: shopware
- License: mit
- Created: 2025-08-21T09:38:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-04T08:03:26.000Z (9 months ago)
- Last Synced: 2025-09-04T09:40:00.927Z (9 months ago)
- Topics: mcp-server, shopware6
- Language: TypeScript
- Homepage:
- Size: 253 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Shopware Admin MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with direct access to Shopware's Admin API for product management tasks.
## Features
- **Product Management**: List, search, create, and update products with media support
- **Category Management**: List, create, update, and delete categories (supports bulk operations)
- **Sales Channel Management**: List sales channels for product visibility
- **Media Management**: Upload media from URLs for product images
- **Order Management**: List and view orders
- **Theme Management**: Change theme colors and logos
- **Shopware Integration**: Native integration with Shopware Admin API
## Available MCP Tools
| Tool | Description | Parameters |
|------|-------------|------------|
| `product_list` | Search and paginate products | `page`, `term` (optional) |
| `product_get` | Get detailed product information | `id` |
| `product_create` | Create new products with pricing and media | `name`, `productNumber`, `description`, `taxRate`, `stock`, `netPrice`, `grossPrice`, `active` (optional), `visibilities` (optional), `categories` (optional), `media` (optional) |
| `product_update` | Update existing products | `id`, `active` (optional), `name` (optional), `description` (optional), `stock` (optional), `visibilities` (optional), `categories` (optional), `media` (optional) |
| `category_list` | List all categories | None |
| `category_create` | Create categories (supports bulk) | `categories` (array with `name`, `parentId` optional, `active` optional) |
| `category_update` | Update categories (supports bulk) | `categories` (array with `id`, `name` optional, `parentId` optional, `active` optional) |
| `category_delete` | Delete categories | `ids` (array of category IDs) |
| `sales_channel_list` | List all sales channels | None |
| `sales_channel_update` | Update a sales channel | `id`, `active` (optional), `maintenance` (optional) |
| `upload_media_by_url` | Upload media from URL | `url`, `fileName` |
| `order_list` | List all orders | `page`, `filters` (optional) |
| `order_detail` | Get detailed order information | `id` |
| `order_update` | Update an order | `id`, `status` (optional) |
| `theme_config_get` | Get the theme configuration for a sales channel | `salesChannelId` |
| `theme_config_change` | Change the theme configuration for a sales channel | `salesChannelId`, `themeId`, `brandPrimaryColor` (optional), `brandSecondaryColor` (optional), `brandBackgroundColor` (optional), `logoId` (optional) |
| `fetch_entity_list` | List all available entities in Shopware | None |
| `fetch_single_entity_schema` | Get the schema for a single entity | `entity` |
| `dal_aggregate` | Aggregate data from the DAL | `entity`, `type`, `field`, `filter` (optional) |
## Prerequisites
- Shopware 6 instance with admin access
- Node.js 22+ for development
## Installation
Create a Integration in Shopware Admin with permission to create, read, update, delete products.
Set following environment variables:
- `SHOPWARE_API_URL`: URL of your Shopware instance (e.g., `https://your-shopware-instance.com`)
- `SHOPWARE_API_CLIENT_ID`: Client ID of the created integration
- `SHOPWARE_API_CLIENT_SECRET`: Client Secret of the created integration
## Usage
### With Claude Code CLI
Add the server using the Claude Code CLI:
```bash
claude mcp add shopware-admin-mcp \
--env SHOPWARE_API_URL=https://your-shopware-instance.com \
--env SHOPWARE_API_CLIENT_ID=your-integration-client-id \
--env SHOPWARE_API_CLIENT_SECRET=your-integration-client-secret \
-- npx -y @shopware-ag/admin-mcp
```
Replace the placeholder values with your actual Shopware instance URL and integration credentials.
### With mcp.json
Add the following configuration to your mcp.json file:
```json
{
"mcpServers": {
"shopware-admin-mcp": {
"command": "npx",
"args": ["-y", "@shopware-ag/admin-mcp"],
"env": {
"SHOPWARE_API_URL": "https://your-shopware-instance.com",
"SHOPWARE_API_CLIENT_ID": "your-integration-client-id",
"SHOPWARE_API_CLIENT_SECRET": "your-integration-client-secret"
}
}
}
}
```
## Development
### Local Development
```bash
# Start local development server in stdio mode
npm run dev
```
### Code Quality
```bash
# Format code
npm run format
# Fix linting issues
npm run lint:fix
# Run type checking
npm run type-check
```
## Permissions
| Entity | Read | Create | Update | Delete |
|--------------------------|------|--------|--------|--------|
| **Product** | ✅ | ✅ | ✅ | ✅ |
| Product Translation | ✅ | ✅ | ✅ | ✅ |
| Product Visibility | ✅ | ✅ | ✅ | ✅ |
| Product Category | ✅ | ✅ | ✅ | ✅ |
| Product Media | ✅ | ✅ | ✅ | ✅ |
| **Category** | ✅ | ✅ | ✅ | ✅ |
| Category Translation | ✅ | ✅ | ✅ | ✅ |
| **Sales Channel** | ✅ | ✅ | ✅ | ✅ |
| **Media** | ✅ | ✅ | ✅ | ✅ |
| Media Default Folder | ✅ | ✅ | ✅ | ✅ |
| Media Folder | ✅ | ✅ | ✅ | ✅ |
| **Tax** | ✅ | ✅ | ✅ | ✅ |
| **Theme** | ✅ | ✅ | ✅ | ✅ |
| Theme Translation | ✅ | ✅ | ✅ | ✅ |
| Theme Media | ✅ | ✅ | ✅ | ✅ |
| Theme Sales Channel | ✅ | ✅ | ✅ | ✅ |
| **Order** | ✅ | ✅ | ✅ | ✅ |
| Order Customer | ✅ | ✅ | ✅ | ✅ |
| Order Delivery | ✅ | ✅ | ✅ | ✅ |
| Order Transaction | ✅ | ✅ | ✅ | ✅ |
## License
MIT License - see LICENSE file for details.
## Support
For issues and feature requests, please use the GitHub issue tracker.