๐ **Fast, local, offline-first MCP server** for PrestaShop documentation with **1,095+ indexed documents** including hooks, guides, components, and APIs.
PrestaShop MCP Server
๐ Fast, local, offline-first MCP server for PrestaShop documentation with 1,095+ indexed documents including hooks, guides, components, and APIs.
A specialized Model Context Protocol (MCP) server that provides instant access to comprehensive PrestaShop development documentation for AI assistants like Claude, Cursor, and other MCP-compatible tools.
๐ฏ Why This MCP Server?
PrestaShop is a comprehensive e-commerce platform with 647+ hooks, complex component architecture, and extensive APIs. This MCP server provides instant, offline access to 1,095+ indexed documents:
- 647+ PrestaShop Hooks - All display and action hooks with complete metadata
- Module Development - Complete guides for creating and testing modules
- Component Architecture - Forms, Grids, Services, CQRS patterns (119 components)
- Theme Development - Template system, Smarty/Twig documentation
- API Documentation - Admin API, webservice, and domain references (96 APIs)
- Guides & Tutorials - Installation, deployment, contribution guides
vs. Official PrestaShop Documentation
| Feature | Official Docs Website | This (PrestaShop MCP) | |---------|----------------------|----------------------| | Access | Online only | Local + Offline | | Speed | Network-dependent | Instant (<50ms) | | Search | Web search | SQLite FTS5 full-text | | AI Integration | Manual lookup | Direct MCP integration | | Customization | Fixed | Add your own docs |
โจ Features
- ๐ Lightning Fast - Local SQLite FTS5 search (<50ms response time)
- ๐ Comprehensive Coverage - 1,095+ documents: hooks, guides, components, APIs
- ๐ Offline First - No network requests, works anywhere
- ๐ณ Docker Ready - Easy deployment with intelligent wrapper script
- ๐จ IDE Integration - Works with Claude Desktop, Claude Code, VS Code, Cursor
- ๐ง Customizable - Add your own project-specific PrestaShop docs
- ๐ Rich Documentation - Full syntax, parameters, examples, and metadata
- ๐ Smart Search - Full-text search with type, category, and origin filtering
- ๐ Multiple Transports - STDIO (local), HTTP, or SSE (remote deployment)
๐ฆ Installation
Option 1: Using Docker (Easiest - Recommended)
git clone https://github.com/florinel-chis/prestashop-mcp.git
cd prestashop-mcp
# Using the wrapper script (best for Claude Desktop/Code)
chmod +x run-docker-mcp.sh
./run-docker-mcp.sh
# Or using Docker Compose (for HTTP/remote deployment)
docker compose up -d
The wrapper script automatically:
- Builds the Docker image if missing
- Handles documentation mounting or auto-fetching
- Configures STDIO transport for MCP clients
- No TTY issues!
See DOCKER_USAGE.md for complete Docker setup guide.
Option 2: Using pip (Recommended for Python)
pip install git+https://github.com/florinel-chis/prestashop-mcp.git
Option 3: From Source
git clone https://github.com/florinel-chis/prestashop-mcp.git
cd prestashop-mcp
pip install -e .
๐ Documentation Setup
The MCP server requires access to the PrestaShop official documentation repository for indexing.
Docker Setup (Automatic)
Docker automatically handles documentation:
- On first run, it clones the PrestaShop docs repository
- Documentation is baked into the Docker image during build
- No manual setup needed!
Local Python Setup (Manual)
For local installations, clone the documentation repository:
# Clone PrestaShop docs as a sibling directory to prestashop-mcp
cd /path/to/your/projects/
git clone https://github.com/PrestaShop/docs.git prestashop-docs
# Directory structure should look like:
# /path/to/your/projects/
# โโโ prestashop-mcp/ (this repository)
# โโโ prestashop-docs/ (PrestaShop official docs)
# The MCP server will automatically find it
Or set a custom location:
# Set environment variable
export PRESTASHOP_DOCS_PATH=/path/to/prestashop-docs
# Then run the server
prestashop-mcp
Documentation Path Priority
The server looks for documentation in this order:
- Environment variable:
PRESTASHOP_DOCS_PATH(if set) - Sibling directory:
../prestashop-docs(relative to MCP server) - Inside project:
./prestashop-docs(for Docker builds)
First Run Indexing
On first run, the server will:
- Locate the PrestaShop documentation repository
- Parse and index 1,095+ markdown files
- Extract metadata (hooks, components, APIs, guides)
- Build SQLite FTS5 search index with Porter stemming
- Store in
~/.mcp/prestashop-docs/database.db
Indexing takes ~30-60 seconds on first run, then uses the cached database for instant startup.
Force reindexing:
# Local installation
python -m prestashop_mcp.ingest_v2 --force
# Or delete the database
rm ~/.mcp/prestashop-docs/database.db
๐ฎ Usage
With Claude Desktop
Standard Installation:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"prestashop": {
"command": "prestashop-mcp"
}
}
}
Docker Installation (using wrapper script):
{
"mcpServers": {
"prestashop": {
"command": "/absolute/path/to/prestashop-mcp/run-docker-mcp.sh"
}
}
}
Docker Installation (HTTP transport):
{
"prestashop": {
"type": "http",
"url": "http://localhost:8765/mcp"
}
}
(Requires running docker compose up -d first)
With VS Code
Create .mcp.json in your project root:
{
"mcpServers": {
"prestashop": {
"type": "stdio",
"command": "prestashop-mcp"
}
}
}
With Claude Code
Create .mcp.json in your project root:
{
"mcpServers": {
"prestashop": {
"command": "/absolute/path/to/run-docker-mcp.sh"
}
}
}
Or for local Python installation:
{
"mcpServers": {
"prestashop": {
"command": "python",
"args": ["-m", "prestashop_mcp.server"]
}
}
}
With Cursor
Add to Cursor's MCP configuration (Settings > Features > MCP Servers):
{
"mcpServers": {
"prestashop": {
"command": "prestashop-mcp"
}
}
}
๐ ๏ธ Available MCP Tools
Once configured, your AI assistant has access to 7 specialized tools:
Documentation Tools
1. search_prestashop_docs(query, doc_type, category)
Search ALL PrestaShop documentation using full-text search.
Parameters:
query- Search termsdoc_type- Filter by: hook, guide, tutorial, api, component, etc.category- Filter by: basics, development, modules, themes, etc.
Example:
"Search PrestaShop docs for module development"
"Find installation guides for Mac"
2. get_prestashop_doc(path)
Get the full content of a specific documentation file.
Example:
"Get the Mac installation guide"
3. list_prestashop_docs(doc_type, category)
List available documentation files with optional filters.
Example:
"List all PrestaShop guides"
"Show me all tutorial documents"
4. get_prestashop_stats()
Get statistics about the indexed documentation.
Example:
"Show me PrestaShop documentation statistics"
Hook Tools
5. search_prestashop_hooks(queries, hook_type, origin)
Search PrestaShop hooks specifically.
Example:
"Find all hooks related to products"
6. get_prestashop_hook(hook_name)
Get complete documentation for a specific hook.
Example:
"Show me the displayHeader hook"
7. list_prestashop_hooks(hook_type, origin)
List all hooks organized by type and origin.
Example:
"List all display hooks"
๐ฌ Example Queries
Try asking your AI assistant:
Installation & Setup:
- "How do I install PrestaShop locally on Mac?"
- "What are the system requirements for PrestaShop?"
- "Show me the Docker installation guide"
Module Development:
- "How do I create a PrestaShop module?"
- "Search for module development tutorials"
- "What's the module structure in PrestaShop?"
Theme Development:
- "How do I develop a PrestaShop theme?"
- "Show me Twig template documentation"
- "Find theme development guides"
Hooks:
- "Show me documentation for the displayHeader hook"
- "Find all hooks related to products"
- "List all display hooks"
- "How does the actionProductAdd hook work?"
Components & Architecture:
- "What UI components are available in PrestaShop?"
- "Show me form types documentation"
- "Explain the CQRS pattern in PrestaShop"
APIs:
- "How do I use the PrestaShop Admin API?"
- "Show me webservice documentation"
- "Find API endpoint references"
General:
- "Show me PrestaShop documentation statistics"
- "List all available guides"
- "Search for deployment documentation"
๐ Documentation Coverage
Total: 1,095+ Indexed Documents
By Document Type
- 647 Hooks - All PrestaShop hooks with metadata
- Display hooks (render content)
- Action hooks (trigger functionality)
- Core, Module, and Theme hooks
- Back office and Front office locations
- 138 General Docs - Guides, tutorials, contribution docs
- 119 Components - Forms, Grids, Services, UI components
- 96 API References - Admin API, webservice, domain references
- 64 References - Technical references and specifications
- 12 Guides - Installation, deployment, development guides
- 10 FAQs - Frequently asked questions
- 9 Tutorials - Step-by-step tutorials
By Category
- 697 Module docs - Module development and hooks
- 208 Development docs - Components, architecture, patterns
- 88 Webservice docs - API and webservice references
- 29 Theme docs - Theme development and templates
- 22 Contribution docs - Contributing to PrestaShop
- 17 Basics - Installation, system requirements, deployment
- And more...
Specialized Data
- 386 Domain References - CQRS commands and queries
- 119 UI Components - Form types, grid columns, etc.
๐ง Development
Running Tests
# Run all tests
pytest
# Run specific test
pytest tests/test_ingest.py
# Run with coverage
pytest --cov=prestashop_mcp
Manual Testing
# Index documentation (uses new comprehensive indexer)
python -m prestashop_mcp.ingest_v2
# Force reindex
python -m prestashop_mcp.ingest_v2 --force
# Check database
sqlite3 ~/.mcp/prestashop-docs/database.db "SELECT COUNT(*) FROM prestashop_docs;"
# Get statistics by type
sqlite3 ~/.mcp/prestashop-docs/database.db "SELECT doc_type, COUNT(*) FROM prestashop_docs GROUP BY doc_type;"
๐ How It Works
- Indexing: On first run, indexes 1,095+ documentation files into SQLite with FTS5
- Hooks, guides, tutorials, API docs, components, and more
- Automatic categorization and metadata extraction
- CQRS domain references and UI component detection
- Storage: Documentation stored in
~/.mcp/prestashop-docs/database.db - Search: Uses SQLite FTS5 for efficient full-text search with ranking
- Porter stemming for better search results
- Filter by document type, category, and other metadata
- Retrieval: Direct lookups by path or name for instant access
- Multi-Transport: Supports STDIO (local), HTTP, and SSE (remote) protocols
๐ค Contributing
Contributions welcome! Please read our Contributing Guide.
Quick Start
# Fork and clone
git clone https://github.com/florinel-chis/prestashop-mcp.git
cd prestashop-mcp
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install for development
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black prestashop_mcp/
# Make changes and submit PR
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
- Inspired by Shopify Liquid MCP
- Docker integration based on best practices from Magento GraphQL Docs MCP, thank you @cmuench
- Built with FastMCP
- Documentation from PrestaShop Docs
- MCP Protocol by Anthropic
๐ Related Projects
- Shopify Liquid MCP - For Shopify theme development
- Magento GraphQL Docs MCP - For Magento development
- FastMCP - MCP server framework
- Model Context Protocol - MCP specification
๐ Support
- ๐ Issues
- ๐ฌ Discussions
Made with โค๏ธ for the PrestaShop development community