PrestaShop文档服务器

一个为PrestaShop开发文档提供快速、本地、离线优先访问的MCP服务器,包含1095+索引文档,适用于AI助手和开发工具。

  • by florinel-chis
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 florinel-chis/prestashop-mcp

使用说明

PrestaShop MCP服务器

🚀 快速、本地、离线的第一台MCP服务器 用于PrestaShop文档 1095+个索引文档 包括钩子、导轨、组件和API。

一个专业 模型上下文协议(MCP) 服务器,为Claude、Cursor和其他MCP兼容工具等AI助手提供对全面的PrestaShop开发文档的即时访问。

🎯 为什么选择MCP服务器?

PrestaShop是一个全面的电子商务平台,拥有647多个钩子、复杂的组件架构和广泛的API。此MCP服务器提供即时离线访问 1095+个索引文档:

  • 647+PrestaShop挂钩 -所有带有完整元数据的显示和操作挂钩
  • 模块开发 -创建和测试模块的完整指南
  • 组件体系结构 -表单、网格、服务、CQRS模式(119个组件)
  • 主题开发 -模板系统、Smarty/Twig文档
  • API 文档 -管理API、Web服务和域引用(96个API)
  • 指南和教程 -安装、部署、贡献指南

vs.官方PrestaShop文档

功能 官方文档网站 此(PrestaShop MCP)
访问 仅限在线 本地+离线
速度 网络依赖 瞬时(<50ms)
搜索 网络搜索 SQLite FTS5全文
人工智能集成 手动查找 直接MCP集成
定制 已修复 添加您自己的文档

✨ 特性

  • 🚀 迅速的 -本地SQLite FTS5搜索(响应时间<50ms)
  • 📚 全面覆盖 -1095+文档:钩子、指南、组件、API
  • 🔌 离线优先 -无网络请求,可在任何地方工作
  • 🐳 Docker就绪 -使用智能包装脚本轻松部署
  • 🎨 IDE集成 -适用于克劳德桌面、克劳德代码、VS代码、光标
  • 🔧 可定制的 -添加您自己的项目特定的PrestaShop文档
  • 📖 丰富的文档 -完整的语法、参数、示例和元数据
  • 🔍 智能搜索 -具有类型、类别和来源过滤的全文搜索
  • 🌐 多个传输 -STDIO(本地)、HTTP或SSE(远程部署)

📦 安装

选项1:使用Docker(最简单-推荐)

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

包装器脚本会自动执行以下操作:

  • 如果缺少,则构建Docker映像
  • 处理文档装载或自动获取
  • 为MCP客户端配置STDIO传输
  • 没有TTY问题!

看 DOCKER_USAGE.md 获取完整的Docker设置指南。

选项2:使用pip(推荐用于Python)

pip install git+https://github.com/florinel-chis/prestashop-mcp.git

选项3:来源

git clone https://github.com/florinel-chis/prestashop-mcp.git
cd prestashop-mcp
pip install -e .

📚 文档设置

MCP服务器需要访问 PrestaShop官方文档 用于索引的存储库。

Docker设置(自动)

Docker自动处理文档:

  • 首次运行时,它克隆了PrestaShop文档存储库
  • 文档在构建过程中被烘焙到Docker镜像中
  • 无需手动设置!

本地Python设置(手动)

对于本地安装,请克隆文档存储库:

# 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

或设置自定义位置:

# Set environment variable
export PRESTASHOP_DOCS_PATH=/path/to/prestashop-docs

# Then run the server
prestashop-mcp

文档路径优先级

服务器按以下顺序查找文档:

  1. 环境变量: PRESTASHOP_DOCS_PATH (如果设置)
  2. 兄弟目录: ../prestashop-docs (相对于MCP服务器)
  3. 内部项目: ./prestashop-docs (适用于Docker版本)

首次运行索引

首次运行时,服务器将:

  1. 查找PrestaShop文档存储库
  2. 解析并索引1095+标记文件
  3. 提取元数据(钩子、组件、API、指南)
  4. 使用波特词干构建SQLite FTS5搜索索引
  5. 存储于 ~/.mcp/prestashop-docs/database.db

索引需要大约30-60秒 在第一次运行时,然后使用缓存的数据库进行即时启动。

强制重新索引:

# Local installation
python -m prestashop_mcp.ingest_v2 --force

# Or delete the database
rm ~/.mcp/prestashop-docs/database.db

🎮 用法

使用克劳德桌面

标准安装: 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "prestashop": {
      "command": "prestashop-mcp"
    }
  }
}

Docker安装(使用包装脚本):

{
  "mcpServers": {
    "prestashop": {
      "command": "/absolute/path/to/prestashop-mcp/run-docker-mcp.sh"
    }
  }
}

Docker安装(HTTP传输):

{
  "prestashop": {
    "type": "http",
    "url": "http://localhost:8765/mcp"
  }
}

(需要运行 docker compose up -d 第一)

使用VS代码

创建 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "prestashop": {
      "type": "stdio",
      "command": "prestashop-mcp"
    }
  }
}

使用克劳德代码

创建 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "prestashop": {
      "command": "/absolute/path/to/run-docker-mcp.sh"
    }
  }
}

或者对于本地Python安装:

{
  "mcpServers": {
    "prestashop": {
      "command": "python",
      "args": ["-m", "prestashop_mcp.server"]
    }
  }
}

带光标

添加到Cursor的MCP配置(设置>功能>MCP服务器):

{
  "mcpServers": {
    "prestashop": {
      "command": "prestashop-mcp"
    }
  }
}

🛠️ 可用的MCP工具

配置后,您的AI助手可以访问7个专用工具:

文档工具

1. search_prestashop_docs(query, doc_type, category)

使用全文搜索搜索所有PrestaShop文档。

参数:

  • query -搜索词
  • doc_type -筛选条件:钩子、指南、教程、api、组件等。
  • category -筛选条件:基础知识、开发、模块、主题等。

例子:

"Search PrestaShop docs for module development"
"Find installation guides for Mac"

2. get_prestashop_doc(path)

获取特定文档文件的完整内容。

例子:

"Get the Mac installation guide"

3. list_prestashop_docs(doc_type, category)

列出带有可选过滤器的可用文档文件。

例子:

"List all PrestaShop guides"
"Show me all tutorial documents"

4. get_prestashop_stats()

获取有关索引文档的统计信息。

例子:

"Show me PrestaShop documentation statistics"

挂钩工具

5. search_prestashop_hooks(queries, hook_type, origin)

专门搜索PrestaShop挂钩。

例子:

"Find all hooks related to products"

6. get_prestashop_hook(hook_name)

获取特定钩子的完整文档。

例子:

"Show me the displayHeader hook"

7. list_prestashop_hooks(hook_type, origin)

按类型和来源列出所有钩子。

例子:

"List all display hooks"

💬 查询示例

试着问你的人工智能助手:

安装和设置:

  • “如何在Mac上本地安装PrestaShop?”
  • “PrestaShop的系统要求是什么?”
  • “给我看Docker安装指南”

模块开发:

  • “如何创建PrestaShop模块?”
  • “搜索模块开发教程”
  • “PrestaShop中的模块结构是什么?”

主题开发:

  • “如何开发PrestaShop主题?”
  • “显示Twig模板文档”
  • “查找主题开发指南”

挂钩:

  • “显示displayHeader挂钩的文档”
  • “查找与产品相关的所有挂钩”
  • “列出所有显示挂钩”
  • “actionProductAdd钩子是如何工作的?”

组件和架构:

  • “PrestaShop中提供了哪些UI组件?”
  • “显示表单类型文档”
  • “解释PrestaShop中的CQRS模式”

API:

  • “如何使用PrestaShop管理员API?”
  • “显示Web服务文档”
  • “查找API终结点引用”

概述:

  • “显示PrestaShop文档统计信息”
  • “列出所有可用指南”
  • “搜索部署文档”

📊 文件覆盖范围

总计:1095+索引文件

按文档类型

  • 647钩子 -所有带有元数据的PrestaShop挂钩
    • 显示挂钩(渲染内容)
    • 动作挂钩(触发功能)
    • 核心、模块和主题挂钩
    • 后台和前台位置
  • 138一般文件 -指南、教程、贡献文档
  • 119组件 -表单、网格、服务、UI组件
  • 96 API参考文献 -管理员API、Web服务、域引用
  • 64参考文献 -技术参考和规范
  • 12指南 -安装、部署、开发指南
  • 10常见问题 -常见问题解答
  • 9教程 -分步教程

按类别

  • 697模块文档 -模块开发和挂钩
  • 208开发文档 -组件、架构、模式
  • 88个Web服务文档 -API和Web服务参考资料
  • 29主题文档 -主题开发和模板
  • 22份贡献文件 -为PrestaShop做出贡献
  • 17基础知识 -安装、系统要求、部署
  • 还有更多。..

专业数据

  • 386域引用 -CQRS命令和查询
  • 119 UI组件 -表格类型、网格列等。

🔧 发展

运行测试

# Run all tests
pytest

# Run specific test
pytest tests/test_ingest.py

# Run with coverage
pytest --cov=prestashop_mcp

手动测试

# 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;"

📖 运作原理

  1. 索引:首次运行时,使用FTS5将1095+文档文件索引到SQLite中
    • 挂钩、指南、教程、API文档、组件等
    • 自动分类和元数据提取
    • CQRS域引用和UI组件检测
  2. 存储:文件存储在 ~/.mcp/prestashop-docs/database.db
  3. 搜索:使用SQLite FTS5进行高效的全文搜索和排名
    • 波特堵塞以获得更好的搜索结果
    • 按文档类型、类别和其他元数据筛选
  4. 检索:通过路径或名称直接查找以实现即时访问
  5. 多运输:支持STDIO(本地)、HTTP和SSE(远程)协议

🤝 贡献

欢迎投稿!请阅读我们的 贡献指南.

快速开始

# 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

📜 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🙏 致谢

🔗 相关项目

📞 支持


由...制作❤️ PrestaShop开发社区