@plugix/mcp-pimcore
v0.1.0
Published
MCP Server for Pimcore PIM - AI-powered product catalog management
Maintainers
Readme
Pimcore MCP Server
MCP server for Pimcore PIM (Product Information Management) integration.
Features
- get_products - Query products with filters (category, search, limit)
- get_categories - List all product categories
- get_stats - Catalog statistics (total products, languages, gaps)
- save_descriptions - Save AI-generated descriptions (with confirmation)
- save_translations - Save translations (with confirmation)
- save_seo - Save SEO metadata (with confirmation)
Installation
npm install
cp .env.example .envConfiguration
Edit .env:
# AI Integration API
API_URL=wss://api.ai-integration.com
API_TOKEN=sk_live_your_token_here
# Pimcore credentials
PIMCORE_URL=https://your-pimcore.com
PIMCORE_API_KEY=your_pimcore_api_key
# Optional
PIMCORE_DEFAULT_LANGUAGE=enUsage
Development
npm run devProduction
npm run build
npm startDocker
docker build -t mcp-pimcore .
docker run --env-file .env mcp-pimcoreTools Reference
get_products
Query products from the Pimcore catalog.
Parameters: | Name | Type | Description | |------|------|-------------| | category | string | Filter by category name | | search | string | Search in name/SKU | | limit | number | Max results (default: 10) | | offset | number | Pagination offset | | missingDescription | boolean | Only products without description |
Example:
{
"name": "get_products",
"arguments": {
"category": "Footwear",
"limit": 5
}
}get_categories
List all product categories.
Parameters: None
get_stats
Get catalog statistics.
Returns:
- Total products
- Products without descriptions
- Available languages
- Category breakdown
save_descriptions
Save AI-generated descriptions. Requires confirmation.
Parameters:
| Name | Type | Required | Description |
|------|------|----------|-------------|
| items | array | Yes | [{productId, description}] |
| language | string | No | Target language (default: en) |
| confirmed | boolean | Yes | Must be true to save |
Example:
{
"name": "save_descriptions",
"arguments": {
"items": [
{"productId": "123", "description": "Premium leather boots..."},
{"productId": "456", "description": "Elegant handbag..."}
],
"language": "en",
"confirmed": true
}
}save_translations
Save product translations. Requires confirmation.
Parameters:
| Name | Type | Required | Description |
|------|------|----------|-------------|
| items | array | Yes | [{productId, translations: {lang: text}}] |
| confirmed | boolean | Yes | Must be true to save |
save_seo
Save SEO metadata. Requires confirmation.
Parameters:
| Name | Type | Required | Description |
|------|------|----------|-------------|
| items | array | Yes | [{productId, title, description, keywords}] |
| confirmed | boolean | Yes | Must be true to save |
Pimcore API Requirements
Your Pimcore instance needs:
- REST API enabled with API key authentication
- Data Object classes for Products with fields:
name(localized)description(localized)skucategories(relation)
- Permissions for read/write on Product objects
Testing
npm testTroubleshooting
Connection refused
- Check
API_URLis correct - Verify
API_TOKENis valid - Ensure firewall allows outbound WebSocket
Pimcore API errors
- Verify
PIMCORE_URLandPIMCORE_API_KEY - Check API permissions in Pimcore admin
- Ensure REST API is enabled
Tool not found
- Restart server after tool changes
- Check tool is exported in
src/tools/index.ts
License
MIT
