PrestaShop MCP Server
A server for managing PrestaShop e-commerce stores through a unified product API.
PrestaShop MCP Server
A professional Model Context Protocol (MCP) Server for complete management of PrestaShop e-commerce stores with extended functionality.
๐ Overview
This MCP Server enables complete management of your PrestaShop store through AI applications like Claude Desktop. With specialized tools, you can manage all aspects of your e-commerce business - from products and categories to customers, orders, modules, cache, themes, and navigation menus.
โจ Features
- ๐๏ธ Complete Store Management - Tools for all e-commerce areas
- ๐ง Module Management - Install, activate, deactivate modules
- ๐พ Cache Management - Clear and monitor cache status
- ๐จ Theme Management - Configure themes and settings
- ๐ Menu Management - Manage main navigation (ps_mainmenu)
- ๐๏ธ MCP Protocol Compliance for seamless AI integration
- โก Async/Await Architecture for maximum performance
- ๐ก๏ธ Comprehensive Error Handling and validation
- ๐ง Production-Ready with complete test suite
- ๐ Comprehensive Documentation with practical examples
๐ ๏ธ Available Tools
๐ฆ Unified Product Management
get_products
- UNIFIED Product retrieval supporting all use cases:- Single Product by ID: Complete product details including stock and category info
- Multiple Products: List with optional filtering and enhancement
- Flexible Enhancement: Optional stock info, category details, custom field selection
- Smart Filtering: By category, name, or custom criteria
create_product
- Create new products with complete configurationupdate_product
- Edit product informationdelete_product
- Remove productsupdate_product_stock
- Manage inventory levelsupdate_product_price
- Update pricing
๐ท๏ธ Category Management
get_categories
- Retrieve categories (with hierarchy filter)create_category
- Create new categoriesupdate_category
- Edit categoriesdelete_category
- Remove categories
๐ฅ Customer Management
get_customers
- Retrieve and filter customerscreate_customer
- Create new customersupdate_customer
- Edit customer data
๐ Order Management
get_orders
- Retrieve and filter ordersupdate_order_status
- Change order statusget_order_states
- Retrieve available statuses
๐ง Module Management NEW
get_modules
- List all PrestaShop modulesget_module_by_name
- Get specific module detailsinstall_module
- Install new modulesupdate_module_status
- Activate/deactivate modules
๐ Main Menu Management NEW
get_main_menu_links
- Retrieve ps_mainmenu navigation linksupdate_main_menu_link
- Edit existing menu linksadd_main_menu_link
- Add new navigation links
๐พ Cache Management NEW
clear_cache
- Clear PrestaShop cache (all types)get_cache_status
- Monitor cache configuration
๐จ Theme Management NEW
get_themes
- Get current theme informationupdate_theme_setting
- Configure theme settings
โ๏ธ Store Administration
test_connection
- Test API connectionget_shop_info
- Comprehensive store statistics
๐ Installation
โ ๏ธ Recommended Installation (Virtual Environment)
This approach prevents module conflicts and ensures reliable installation:
Windows:
# Clone repository
git clone https://github.com/latinogino/prestashop-mcp.git
cd prestashop-mcp
# Create virtual environment
python -m venv venv_prestashop
# Activate virtual environment
.\venv_prestashop\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txt
# Install package in development mode
pip install -e .
# Verify installation
python -c "import prestashop_mcp; print('โ
Installation successful')"
# Note the Python path for Claude Desktop configuration
Write-Host "Python Path: $((Get-Command python).Source)"
Linux/macOS:
# Clone repository
git clone https://github.com/latinogino/prestashop-mcp.git
cd prestashop-mcp
# Create virtual environment
python3 -m venv venv_prestashop
# Activate virtual environment
source venv_prestashop/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install package in development mode
pip install -e .
# Verify installation
python -c "import prestashop_mcp; print('โ
Installation successful')"
# Note the Python path for Claude Desktop configuration
which python
โ๏ธ Configuration
Create a .env
file based on .env.example
:
# PrestaShop Configuration
PRESTASHOP_SHOP_URL=https://your-shop.example.com
PRESTASHOP_API_KEY=YOUR_API_KEY
# Logging
LOG_LEVEL=INFO
๐ฏ Usage
๐ค With Claude Desktop
Using Virtual Environment (Recommended)
Add this configuration to claude_desktop_config.json
:
Windows:
{
"mcpServers": {
"prestashop": {
"command": "C:\\\\path\\\\to\\\\prestashop-mcp\\\\venv_prestashop\\\\Scripts\\\\python.exe",
"args": ["-m", "prestashop_mcp.prestashop_mcp_server"],
"cwd": "C:\\\\path\\\\to\\\\prestashop-mcp",
"env": {
"PRESTASHOP_SHOP_URL": "https://your-shop.example.com",
"PRESTASHOP_API_KEY": "YOUR_API_KEY"
}
}
}
}
Linux/macOS:
{
"mcpServers": {
"prestashop": {
"command": "/path/to/prestashop-mcp/venv_prestashop/bin/python",
"args": ["-m", "prestashop_mcp.prestashop_mcp_server"],
"cwd": "/path/to/prestashop-mcp",
"env": {
"PRESTASHOP_SHOP_URL": "https://your-shop.example.com",
"PRESTASHOP_API_KEY": "YOUR_API_KEY"
}
}
}
}
๐ป CLI Usage
# Activate virtual environment first (if using venv)
source venv_prestashop/bin/activate # Linux/macOS
.\venv_prestashop\Scripts\Activate.ps1 # Windows
# With environment variables
prestashop-mcp
# With direct parameters
prestashop-mcp --shop-url https://your-shop.com --api-key YOUR_API_KEY
# Debug mode
prestashop-mcp --log-level DEBUG
๐ Extended Functionality Examples
Module Management
"Show me all modules in my PrestaShop store"
"Activate the ps_mainmenu module"
"Deactivate the blockcart module"
"Get details for the ps_featuredproducts module"
Main Menu Management
"Show me all main menu links"
"Add a new menu link called 'Special Offers' pointing to /special-offers"
"Update menu link 3 to point to /new-products"
"Make menu link 5 inactive"
Cache Management
"Clear all PrestaShop cache"
"Show me the current cache status"
"Check if CSS cache is enabled"
Theme Management
"Show me current theme settings"
"Update the PS_LOGO setting to /img/new-logo.png"
"Change the PS_THEME_NAME to my-custom-theme"
๐ Unified Product API
The get_products
tool handles all product retrieval scenarios with a single, powerful interface:
Use Cases:
Scenario | Parameters | Result |
---|---|---|
Single Product Details | product_id="15", include_stock=true, include_category_info=true | Complete product info with stock & category |
Product List | limit=20, category_id="5" | List of products in category 5 |
Enhanced List | limit=10, include_details=true, include_stock=true | Full product details with stock for 10 products |
Filtered Search | name_filter="laptop", include_details=true | All laptop products with complete information |
Custom Fields | display="id,name,price", limit=50 | Specific fields only for 50 products |
๐ ๏ธ Advanced Features
ps_mainmenu Integration
The ps_mainmenu module management allows you to:
- Retrieve all main navigation links
- Add custom navigation items
- Update existing menu links (name, URL, status)
- Control menu link positioning
Cache Performance Optimization
Cache management includes:
- Clear all cache types (CSS, JS, Template, General)
- Monitor cache status for performance optimization
- Toggle cache settings for development/production
Module Lifecycle Management
Complete module control:
- List all installed modules with status
- Install new modules programmatically
- Activate/deactivate modules as needed
- Get detailed module information
Theme Customization
Theme management capabilities:
- View current theme configuration
- Update theme-specific settings
- Manage logos and visual elements
- Configure theme-related PrestaShop settings
๐ง Troubleshooting
โ Common Issues
"ModuleNotFoundError: No module named 'prestashop_mcp'"
Solution: Use virtual environment and ensure package is installed:
# Check if in virtual environment
python -c "import sys; print(sys.prefix)"
# Reinstall package
pip install -e .
# Verify installation
python -c "import prestashop_mcp; print('Module found')"
Module Management Issues
Check Module Permissions:
# Ensure your API key has module management permissions
curl -u "YOUR_API_KEY:" https://your-shop.com/api/modules?output_format=JSON
Cache Clear Not Working
Alternative Cache Clear: If the API-based cache clear doesn't work, you may need to:
- Check PrestaShop permissions for API user
- Use manual cache clearing in PrestaShop admin
- Verify cache directory write permissions
๐ Debug Mode
Enable debug logging in Claude Desktop configuration:
{
"mcpServers": {
"prestashop": {
"command": "path/to/python",
"args": ["-m", "prestashop_mcp.prestashop_mcp_server"],
"cwd": "path/to/prestashop-mcp",
"env": {
"PRESTASHOP_SHOP_URL": "https://your-shop.example.com",
"PRESTASHOP_API_KEY": "YOUR_API_KEY",
"LOG_LEVEL": "DEBUG"
}
}
}
}
๐ Project Structure
prestashop-mcp/
โโโ src/prestashop_mcp/ # Main Package
โ โโโ prestashop_mcp_server.py # MCP Server (Extended)
โ โโโ prestashop_client.py # PrestaShop API Client (Extended)
โ โโโ config.py # Configuration Management
โ โโโ cli.py # Command Line Interface
โโโ tests/ # All Tests
โ โโโ test_config.py # Unit Tests
โ โโโ test_crud_operations.py # CRUD Integration Tests
โโโ venv_prestashop/ # Virtual Environment (after setup)
โโโ README.md # Documentation
โโโ CHANGELOG.md # Version History
โโโ pyproject.toml # Package Configuration
โโโ requirements.txt # All Dependencies
๐ API Documentation
PrestaShop API
Complete PrestaShop API documentation:
Authentication
curl -u "API_KEY:" https://your-shop.com/api/configurations?output_format=JSON
Important Endpoints
- Products:
/api/products
- Categories:
/api/categories
- Customers:
/api/customers
- Orders:
/api/orders
- Stock:
/api/stock_availables
- Order Status:
/api/order_states
- Modules:
/api/modules
NEW - Configurations:
/api/configurations
NEW
๐งช Development
๐๏ธ Development Environment
# Activate virtual environment
source venv_prestashop/bin/activate # Linux/macOS
.\venv_prestashop\Scripts\Activate.ps1 # Windows
# All dependencies (including test dependencies) are in requirements.txt
pip install -r requirements.txt
# Run tests
pytest
# Run tests with coverage
pytest --cov=src/prestashop_mcp --cov-report=html
# Run comprehensive integration tests
python tests/test_crud_operations.py
๐ Resources
- PrestaShop Official Documentation
- Model Context Protocol Specification
- Claude Desktop MCP Integration
- GitHub Repository
๐ License
MIT License - see LICENSE for details.
๐ Changelog
See CHANGELOG.md for a detailed history of changes.
๐๏ธ Project Status & Development Notes
๐ Maintenance Status
โ ๏ธ Limited Maintenance: I currently do not plan to actively maintain this repository. The PrestaShop MCP Server was rather a test of how an MCP server can be created without significant own programming experience and largely based on LLMs and MCPs.
๐งช Experimental Nature
This project served as a Proof of Concept for:
- LLM-Assisted Development: Development of complex software integration solutions with minimal manual programming
- MCP Server Architecture: Practical implementation of the Model Context Protocol specification
- AI-Driven E-Commerce Integration: Automated PrestaShop management through natural language
- No-Code/Low-Code Approach: Maximum use of AI tools for professional software development
๐ณ Planned Docker Distribution
Upcoming Features: It is still planned to provide the entire MCP server as a ready-made Docker container as soon as all functions are implemented as desired.
Benefits of Docker deployment:
- โ Zero-Configuration Setup: Easy installation without complex Python environment
- โ Consistent Environment: Identical behavior on all platforms
- โ Isolated Dependencies: No conflicts with local Python installations
- โ Production-Ready: Optimized for productive use
- โ Auto-Updates: Easy update to new versions
Planned Docker usage:
# Future Docker installation (planned)
docker pull latinogino/prestashop-mcp:latest
docker run -e PRESTASHOP_SHOP_URL=https://your-shop.com \
-e PRESTASHOP_API_KEY=your-key \
-p 8080:8080 \
latinogino/prestashop-mcp:latest
๐ฏ Manage your complete PrestaShop store including modules, cache, themes, and navigation through natural language with Claude Desktop!
Related Servers
EdgeOne Pages MCP
An MCP service for deploying HTML content to EdgeOne Pages and obtaining a publicly accessible URL.
Amazon VPC Lattice
Access and manage AWS VPC Lattice resources and related documentation.
Tableau Cloud
Administer Tableau Cloud with AI-powered tools. This server offers complete API coverage, enterprise-grade logging, and a production-ready architecture.
Domino Data Lab
Interact with the Domino Data Lab platform to execute and check the status of Domino jobs.
AWS Cost Analysis
Analyze CDK projects to identify AWS services used and get pricing information from AWS pricing webpages and API.
Satim Payment Gateway Integration
Integrate with Algeria's SATIM payment gateway to process CIB and Edhahabia card payments.
BNBChain MCP
Interact with BNB Chain and other EVM-compatible networks using natural language and AI assistance.
Aiven
Navigate your Aiven projects and interact with the PostgreSQLยฎ, Apache Kafkaยฎ, ClickHouseยฎ and OpenSearchยฎ services
AWS CLI
Generate and execute AWS CLI commands using natural language.
Netbird
List and analyze Netbird network peers, groups, policies, and more.