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.
测试
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”
- 验证
PS_API_URL 正确且可访问
- 检查您的API密钥在后台是否具有必要的资源权限→ 高级参数→ 介绍
- 确保在PrestaShop中启用Web服务
“写入操作被阻止”
集 PS_READONLY=false 在您的环境中,并在PrestaShop后台为您的API密钥启用PUT/POST方法。
“找不到工具”
检查你的 PS_TOOL_CATEGORIES 过滤器。删除筛选器或添加所需的类别。
HTTP传输没有响应
- 验证
PS_TRANSPORT=http 已设置
- 检查
PS_AUTH_TOKEN 已配置
- 测试用
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的只读工具
- 目录、促销、管理工具
- 产品形象支持
学分
由...建造 仿真语言 --比利时列日数字营销和人工智能机构。
在麻省理工学院获得许可。看 许可证 了解详情。