Skip to main content
Glama
README.mdβ€’14.2 kB
# 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 configuration - `update_product` - Edit product information - `delete_product` - Remove products - `update_product_stock` - Manage inventory levels - `update_product_price` - Update pricing ### 🏷️ Category Management - `get_categories` - Retrieve categories (with hierarchy filter) - `create_category` - Create new categories - `update_category` - Edit categories - `delete_category` - Remove categories ### πŸ‘₯ Customer Management - `get_customers` - Retrieve and filter customers - `create_customer` - Create new customers - `update_customer` - Edit customer data ### πŸ“‹ Order Management - `get_orders` - Retrieve and filter orders - `update_order_status` - Change order status - `get_order_states` - Retrieve available statuses ### πŸ”§ Module Management **NEW** - `get_modules` - List all PrestaShop modules - `get_module_by_name` - Get specific module details - `install_module` - Install new modules - `update_module_status` - Activate/deactivate modules ### πŸ“‹ Main Menu Management **NEW** - `get_main_menu_links` - Retrieve ps_mainmenu navigation links - `update_main_menu_link` - Edit existing menu links - `add_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 information - `update_theme_setting` - Configure theme settings ### βš™οΈ Store Administration - `test_connection` - Test API connection - `get_shop_info` - Comprehensive store statistics ## πŸ“‹ Installation ### ⚠️ Recommended Installation (Virtual Environment) **This approach prevents module conflicts and ensures reliable installation:** #### Windows: ```powershell # 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: ```bash # 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`: ```bash # 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:** ```json { "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:** ```json { "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 ```bash # 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: ```bash # 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:** ```bash # 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: 1. Check PrestaShop permissions for API user 2. Use manual cache clearing in PrestaShop admin 3. Verify cache directory write permissions ### πŸ” Debug Mode Enable debug logging in Claude Desktop configuration: ```json { "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: - **[PrestaShop DevDocs - Webservice](https://devdocs.prestashop-project.org/8/webservice/)** ### Authentication ```bash 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 ```bash # 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](https://devdocs.prestashop-project.org/)** - **[Model Context Protocol Specification](https://modelcontextprotocol.io/)** - **[Claude Desktop MCP Integration](https://docs.anthropic.com/)** - **[GitHub Repository](https://github.com/latinogino/prestashop-mcp)** ## πŸ“„ License MIT License - see [LICENSE](LICENSE) for details. ## πŸ“ Changelog See [CHANGELOG.md](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:** ```bash # 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!**

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/latinogino/prestashop-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server