PrestaShop集成管理服务器

为企业提供PrestaShop与Claude集成的管理控制层,包含79种读写工具、审计追踪、多站点管理和KPI仪表板等功能。

  • by GeorgesAdSim
  • TypeScript
  • 混合部署
  • 更新于
在 GitHub 查看 GeorgesAdSim/prestashop-mcp-server

使用说明

PrestaShop MCP服务器

用于Claude到PrestaShop集成的企业治理层。

79种读/写工具——审计跟踪、多站点、SEO、KPI仪表板、HTTP传输。


目录


建筑

┌─────────────────────────────────────────────────────────┐
│                    Claude Desktop / CLI                   │
│                   (or any MCP client)                    │
└───────────────┬──────────────────────┬──────────────────┘
                │ stdio                │ HTTP (Streamable)
                ▼                      ▼
┌─────────────────────────────────────────────────────────┐
│              PrestaShop MCP Server v3.1.0               │
│                                                         │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐  │
│  │ Products │ │  Orders  │ │   SEO    │ │    KPI    │  │
│  │ 6 tools  │ │ 3 tools  │ │ 4 tools  │ │  6 tools  │  │
│  └──────────┘ └──────────┘ └──────────┘ └───────────┘  │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐  │
│  │Customers │ │  Stock   │ │  Write   │ │  Analyse  │  │
│  │ 4 tools  │ │ 2 tools  │ │ 4 tools  │ │  5 tools  │  │
│  └──────────┘ └──────────┘ └──────────┘ └───────────┘  │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐  │
│  │   CMS    │ │ Scoring  │ │ Alerts   │ │ Geography │  │
│  │ 4 tools  │ │ 3 tools  │ │ 2 tools  │ │  3 tools  │  │
│  └──────────┘ └──────────┘ └──────────┘ └───────────┘  │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐  │
│  │Catalogue │ │Promotions│ │ Invoices │ │  + more   │  │
│  │ 4 tools  │ │ 4 tools  │ │ 2 tools  │ │ 17 tools  │  │
│  └──────────┘ └──────────┘ └──────────┘ └───────────┘  │
│                                                         │
│  ┌─────────────────────────────────────────────────┐    │
│  │     Governance: read-only gate · audit trail    │    │
│  │     multi-site · category filter · rate limit   │    │
│  └─────────────────────────────────────────────────┘    │
└───────────────────────────┬─────────────────────────────┘
                            │ HTTPS + API Key
                            ▼
                ┌───────────────────────┐
                │  PrestaShop Webservice│
                │     (JSON API)       │
                └───────────────────────┘

为什么选择此服务器

  • 治理优先 --默认情况下为只读。写入操作需要明确的选择加入(PS_READONLY=false)以及后台API密钥配置。
  • 受监管的环境 --审计跟踪中间件使用时间戳、参数和用户上下文记录每次工具调用。
  • 机构和多站点 --在运行时通过以下方式在PrestaShop实例之间切换 ps_set_target通过一次克劳德对话管理数十家商店。
  • 79工具 --从基本的CRUD到高级KPI仪表板、SEO审计、股票警报、废弃购物车分析和跨数据集智能。

快速开始

1.安装并运行

npx -y @adsim/prestashop-mcp-server

2.环境变量

创建一个 .env 直接文件或传递变量:

PS_API_URL=https://your-shop.com
PS_API_KEY=YOUR_PRESTASHOP_WEBSERVICE_KEY

3.克劳德桌面配置

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "prestashop": {
      "command": "npx",
      "args": ["-y", "@adsim/prestashop-mcp-server"],
      "env": {
        "PS_API_URL": "https://your-shop.com",
        "PS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

4.克劳德代码(CLI)

claude mcp add prestashop -- npx -y @adsim/prestashop-mcp-server

然后在shell中设置环境变量或 .env 文件。


HTTP流传输

v3.0.0在默认的stdio旁边添加了HTTP流式传输,支持远程和基于浏览器的MCP客户端。

配置

PS_TRANSPORT=http          # "stdio" (default) or "http"
PS_HTTP_PORT=3000          # Default: 3000
PS_HTTP_HOST=127.0.0.1     # Default: 127.0.0.1
PS_AUTH_TOKEN=my-secret    # Required for HTTP mode (Bearer token)
PS_ALLOWED_ORIGINS=https://app.example.com   # Optional, comma-separated
PS_DUAL_MODE=false         # Set to "true" for stdio + HTTP simultaneously

健康检查

curl http://127.0.0.1:3000/health
{ "status": "ok", "version": "3.1.0", "transport": "http", "tools": 79 }

双模式

在混合客户端环境中同时运行stdio和HTTP:

PS_TRANSPORT=http
PS_DUAL_MODE=true

可用工具(79)

站点和多站点(4)

工具 说明
ps_site_info 店铺信息、语言、CMS版本
ps_list_languages 列出活动语言
ps_list_targets 列出已配置的PrestaShop目标
ps_set_target 在运行时切换活动目标

产品(6)

工具 说明
ps_list_products 列出带过滤器的产品
ps_get_product 获取产品详细信息
ps_search_products 全文产品搜索
ps_create_product 创建新产品
ps_delete_product 删除产品
ps_get_product_images 获取产品图片URL

类别(4)

工具 说明
ps_list_categories 列出类别
ps_get_category 获取类别详细信息
ps_create_category 创建新类别
ps_update_category 更新类别

订单(3)

工具 说明
ps_list_orders 使用筛选器列出订单
ps_get_order 获取完整的订单详细信息
ps_list_order_states 列出订单状态

客户(4)

工具 说明
ps_list_customers 列出具有筛选器的客户
ps_get_customer 获取客户详细信息
ps_create_customer 创建新客户
ps_update_customer 更新客户

库存(2)

工具 说明
ps_list_stock 列出库存水平
ps_get_product_stock 获取特定产品的库存

CMS(4)

工具 说明
ps_list_cms_pages 列出CMS页面
ps_get_cms_page 获取CMS页面内容
ps_create_cms_page 创建CMS页面
ps_update_cms_page 更新CMS页面

目录(4)

工具 说明
ps_list_carriers 列出运输公司
ps_list_combinations 列出产品组合
ps_list_product_features 列出产品特性
ps_list_product_options 列出产品选项

促销活动(4)

工具 说明
ps_list_cart_rules 列出购物车规则/优惠券
ps_list_specific_prices 列出具体价格规则
ps_create_specific_price 创建特定价格
ps_delete_specific_price 删除特定价格

管理(3)

工具 说明
ps_list_order_histories 列出订单状态历史记录
ps_list_tax_rules 列出税务规则
ps_list_addresses 列出客户地址

写入操作(4)

工具 说明
ps_update_product 更新产品字段
ps_update_stock 更新库存数量
ps_update_order_status 更新订单状态
ps_create_cart_rule 创建购物车规则/凭证

搜索引擎优化(4)

工具 说明
ps_audit_seo 产品SEO审计
ps_update_seo 更新产品SEO字段
ps_audit_seo_categories 类别的SEO审计
ps_audit_seo_cms CMS页面的SEO审计

分析(5)

工具 说明
ps_get_order_details 获取订单明细行
ps_get_customer_orders 为客户获取订单
ps_low_stock_report 低于阈值的产品
ps_abandoned_cart_analysis 废弃购物车分析
ps_supplier_performance 供应商绩效指标

评分(3)

工具 说明
ps_dead_products_report 零销售额产品
ps_stock_rotation_score 股票轮换评分
ps_margin_scoring 产品利润分析

警报(2)

工具 说明
ps_stock_alert_check 根据阈值检查库存
ps_configure_stock_alerts 配置警报阈值

KPI仪表板(6)

工具 说明
ps_top_revenue_products 收入最高的产品
ps_average_basket_analysis 平均篮子分析
ps_customer_ltv 客户终身价值
ps_generate_full_report 完整的KPI仪表板
ps_category_performance 每类收入
ps_inventory_value_report 存货估价

交叉分析(1)

工具 说明
ps_cross_analysis 跨数据集分析引擎

制造商(2)

工具 说明
ps_list_manufacturers 列出制造商
ps_get_manufacturer 获取制造商详细信息

供应商(2)

工具 说明
ps_list_suppliers 列出供应商
ps_get_supplier 获取供应商详细信息

地理(3)

工具 说明
ps_list_countries 列出国家
ps_list_zones 列出区域
ps_list_states 列出州/省

货币(1)

工具 说明
ps_list_currencies 列出货币

团体(2)

工具 说明
ps_list_groups 列出客户群
ps_get_group 获取组详细信息

手推车(2)

工具 说明
ps_list_carts 列出购物车
ps_get_cart 获取购物车详细信息

发票和付款(2)

工具 说明
ps_list_order_invoices 列出订单发票
ps_list_order_payments 列出订单付款

配置(2)

工具 说明
ps_list_configurations 列出配置密钥
ps_get_configuration 获取配置值

企业控制

变量 默认值 描述
PS_API_URL -- PrestaShop商店URL(必填)
PS_API_KEY - Web服务API密钥(必需)
PS_READONLY true 阻止所有写入操作
PS_TOOL_CATEGORIES * 要加载的逗号分隔的工具类别
PS_TRANSPORT stdio 运输方式: stdio 或 http
PS_HTTP_PORT 3000 HTTP服务器端口
PS_HTTP_HOST 127.0.0.1 HTTP服务器绑定地址
PS_AUTH_TOKEN -- HTTP模式的承载令牌(必需)
PS_ALLOWED_ORIGINS -- 逗号分隔的允许来源
PS_DUAL_MODE false 同时运行stdio+HTTP
PS_TARGETS -- 多站点目标的JSON数组
PS_DATA_DIR ./data 报告和导出目录
PS_SAFE_SORT true 禁用 sort API调用中的参数(避免PS 1.7/8.x 500错误)

工具类别筛选器

只加载您需要的工具:

PS_TOOL_CATEGORIES=products,orders,stock,seo

可用类别: site, products, categories, orders, customers, stock, cms, catalogue, promotions, management, images, write, seo, analyse, scoring, alerts, kpi, cross-analysis, manufacturers, suppliers, geography, currencies, groups, carts, invoices, configuration.


测试

npm test

34个测试套件中的622个测试,通过率为100%。将Vitest与模拟PrestaShop客户端结合使用。

npm run test:coverage    # Coverage report
npm run test:watch       # Watch mode

多目标配置

从单个实例管理多个PrestaShop商店:

{
  "mcpServers": {
    "prestashop": {
      "command": "npx",
      "args": ["-y", "@adsim/prestashop-mcp-server"],
      "env": {
        "PS_API_URL": "https://shop-1.com",
        "PS_API_KEY": "KEY_1",
        "PS_TARGETS": "[{\"name\":\"shop-2\",\"url\":\"https://shop-2.com\",\"apiKey\":\"KEY_2\"},{\"name\":\"shop-3\",\"url\":\"https://shop-3.com\",\"apiKey\":\"KEY_3\"}]"
      }
    }
  }
}

然后使用 ps_list_targets 和 ps_set_target 在运行时在商店之间切换。


安全

  • 默认情况下为只读 --写操作被隐藏 PS_READONLY=false
  • 承载身份验证 --HTTP传输需要 PS_AUTH_TOKEN
  • 原产地验证 --可选 PS_ALLOWED_ORIGINS 阻止DNS重新绑定
  • 代码中没有凭据 --所有秘密都通过环境变量
  • 最低权限 -只使用您需要的资源配置PrestaShop API密钥
  • 局部绑定 --HTTP传输绑定到 127.0.0.1 默认情况下

故障排除

“无法连接到PrestaShop API”

  1. 验证 PS_API_URL 正确且可访问
  2. 检查您的API密钥在后台是否具有必要的资源权限→ 高级参数→ 介绍
  3. 确保在PrestaShop中启用Web服务

“写入操作被阻止”

集 PS_READONLY=false 在您的环境中,并在PrestaShop后台为您的API密钥启用PUT/POST方法。

“找不到工具”

检查你的 PS_TOOL_CATEGORIES 过滤器。删除筛选器或添加所需的类别。

HTTP传输没有响应

  1. 验证 PS_TRANSPORT=http 已设置
  2. 检查 PS_AUTH_TOKEN 已配置
  3. 测试用 curl http://127.0.0.1:3000/health

更新日志

v3.1.0--稳健性和生产修复

现实世界PrestaShop商店的关键错误修复(在21K+订单上测试):

  • 从终点开始寻呼 — fetchRecentOrders 和 fetchOrderDetailsBatch 现在先发现总计数,然后从尾部开始分页。修复了KPI工具在大型商店返回0欧元收入的错误(PrestaShop默认返回升序, sort 在安全排序模式下被剥离)。
  • 订单详细信息回退 --何时 GET /api/orders/{id} 返回空值 order_rows (删除语言错误),自动回退到 /api/order_details.首先对5个订单进行采样,以避免数千个浪费的API调用。
  • SEO审计弹性 --在所有3个SEO审计工具中尝试/捕获每个项目。损坏的多语言翻译不再会破坏整个审计。
  • 日期过滤稳健性 — filterByDate 包括缺少/无法解析日期的项目,而不是默默地删除它们。当日期字段为空时,阻止0欧元收入。
  • 健康检查 — ps_site_info 现在探测关键的API端点(产品、订单、CMS)并报告正常/失败状态。
  • 语言ID差距检测 — ps_site_info 当语言ID存在空白时发出警告(500个错误的常见来源)。
  • 调试元数据 — ps_top_revenue_products 包括 _debug 和 total_orders_in_shop, start_offset, oldest_date, newest_date, fallback_used, order_details_fetched, order_details_matched.
  • 安全分拣模式 — PS_SAFE_SORT=true (默认)条带 sort API调用的参数,以避免1.7/8.x上的PrestaShop 500错误。
  • 34个测试套件中的622个测试,通过率为100%。

v3.0.0

  • HTTP流式传输(MCP SDK流式HTTPServerTransport)
  • 双模式:同时支持stdio+HTTP
  • 健康终点(/health)
  • HTTP模式的承载令牌身份验证
  • 源验证(反DNS重新绑定)
  • 16个新的资源工具(制造商、供应商、地理位置、货币、组、购物车、发票、配置)
  • 6个高级分析工具(类别绩效、库存估值、废弃购物车、供应商绩效、类别和CMS的SEO审计)
  • 总共79个工具,580个测试

v2.0.0版本

  • 写入操作(产品更新、库存、订单状态、购物车规则)
  • SEO审计和更新工具
  • 多站点/多目标支持
  • 工具类别筛选器(PS_TOOL_CATEGORIES)
  • 只读治理门

v1.0.0

  • 初始版本
  • 产品、类别、订单、客户、库存、CMS的只读工具
  • 目录、促销、管理工具
  • 产品形象支持

学分

由...建造 仿真语言 --比利时列日数字营销和人工智能机构。


在麻省理工学院获得许可。看 许可证 了解详情。