mcpField
O
O'So MCP Server for PrestaShop

O'So MCP Server for PrestaShop

远程服务
github.com商业与营销2今天更新

关于 O'So MCP Server for PrestaShop

O'So MCP Server for PrestaShop 是一个 PrestaShop 模块,可向兼容 MCP 的助手开放店铺操作。它面向店铺员工和管理员,通过员工权限与 OAuth 2.1 控制访问,而非共用数据库登录或不受限的 API 密钥。

主要功能

  1. 01在 PrestaShop 内提供 MCP 端点
  2. 02OAuth 2.1 授权
  3. 03基于员工的后台权限
  4. 04原生支持多店铺
  5. 05允许模块发布工具和提示词

适用场景

  1. 01搜索订单并更新订单状态
  2. 02管理商品、库存和客户
  3. 03查看销售汇总及畅销商品

MCP 相关

该模块在 PrestaShop 内运行 MCP 端点,并提供店铺数据与操作工具。MCP 客户端以员工身份授权,访问范围由该员工的后台权限决定。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://{shop}/module/somcp/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

PrestaShop MCP 服务

PHP 测试 集成测试 安全性 UI 测试

发布版本 PrestaShop PHP MCP 多店铺 许可证 文档

星标 分支 贡献者 欢迎提交 PR

这是一个 PrestaShop 模块,可将商店转变为 MCP 服务。Claude、ChatGPT、Le Chat 或任何兼容 MCP 的助手 (完整列表)随后都可以通过标准协议处理商店的订单 和商品目录,并使用 OAuth 2.1 和员工自己的后台权限,而无需数据库登录信息, 也无需使用权限不受限制的 API 密钥。

模块文件夹名为 somcp;在后台中,它称为 O'So MCP Server。

模块文档——包括要求、安装、配置以及连接各个助手的方法——请参阅 wiki。

https://github.com/user-attachments/assets/cf0b0e3f-1172-4ba9-aad1-11a6298aadf7

本仓库欢迎愿意与我们一起开发的 PrestaShop 开发者。请参阅如何参与。


功能

  • 在 PrestaShop 内提供 MCP 服务。 无需单独的服务,也无需 Node 进程。 端点是一个模块前台控制器。
  • 运行自己的 OAuth 2.1 授权服务器:发现文档(RFC 9728 和 RFC 8414)、PKCE S256、动态客户端注册和客户端 ID 元数据 文档、带重用检测的刷新令牌轮换。令牌以哈希形式存储,并绑定到 发放令牌的店铺。
  • 直接使用 PrestaShop 权限。 员工以自己的名义连接助手,并在 后台的同意页面上完成授权。助手随后拥有该员工的全部权限:每个工具 都关联一个后台页面,以及 PrestaShop 已管理的四种权限之一:view、add、edit 或 delete。
  • 原生支持多店铺。 每个店铺都有自己的地址、令牌和遵循常规继承规则的 设置。员工只能访问自己关联的店铺。
  • 允许任何模块通过两个钩子发布工具和提示词,只需返回数组即可。 不依赖 somcp 的类,因此这些模块仍可通过 Addons 验证器。请参阅 docs/EXTENDING.md。
  • 后台内置助手。 每个页面右上角的聊天按钮都会打开一段对话,与商家使用 自己的 API 密钥连接的 AI 交流:Claude、 ChatGPT、 Gemini、 Mistral、 DeepSeek、 Grok 或 Cohere——每个链接都会打开相应服务商提供 密钥的页面——也可以连接运行在商家自己电脑上的 AI,例如 Ollama 或 LM Studio, 通过 O'So AI Relay 接入,无需密钥, 也不会在商家的网络上开放任何端口。它使用相同的工具,并拥有当前登录员工的权限, 且在进行任何更改前都会请求批准。多个助手可按角色协同工作。每段对话都可以从 + 菜单开启深度思考(Claude、Gemini、OpenAI 的推理模型)和网络搜索(Claude 和 Gemini 原生支持,其他模型则通过其中一个服务商实现),也可以关闭记忆。它 了解自己所属的模块,并且对于超级管理员,会读取其设置,并在获得批准后更改设置。 基于 Neuron AI 运行。
  • 通过一个端点同时支持协议的两个时代:无状态的 2026-07-28 版本,支持在 一次调用过程中提问,以及 2025-11-25、2025-06-18 和 2025-03-26 版本。

截图

以下依次展示 PrestaShop 9.1 的设置页面:配置、工具和提示词、访问与安全、已连接的 助手、内置助手、安全日志、帮助和更新,以及聊天界面。

O'So MCP Server 的设置页面依次展示

兼容性

PrestaShop8.0.0 至 9.x(ps_versions_compliancy 8.0.0 - 9.99.99)
PHP8.1 或更高版本
多店铺支持
语言英语、法语、西班牙语、德语

店铺必须可通过 HTTPS 访问,启用友好 URL,并且安装在域名根目录: OAuth 会在此处设置其发现文档之一。设置中的诊断按钮会从外部检查证书、SSL 设置、 友好 URL、安装位置,以及助手调用的地址。完整的要求列表请参阅 wiki。

工具

按后台页面分组,每个对象的读取工具排在写入工具之前。新增工具时,应将其添加到所属页面的表格中。

连接
工具范围后台权限类型
somcp_pingmcp.access无读取
Orders
ToolScopeBack office rightNature
somcp_search_ordersmcp.orders.readview on AdminOrdersread
somcp_get_ordermcp.orders.readview on AdminOrdersread
somcp_list_order_statusesmcp.orders.readview on AdminStatusesread
somcp_list_return_statusesmcp.orders.readview on AdminStatusesread
somcp_list_carriersmcp.orders.readview on AdminCarriersread
somcp_set_order_statusmcp.orders.writeedit on AdminOrderswrite
somcp_set_order_trackingmcp.orders.writeedit on AdminOrderswrite
somcp_add_order_messagemcp.orders.writeedit on AdminOrderswrite
somcp_set_order_notemcp.orders.writeedit on AdminOrderswrite
somcp_add_order_paymentmcp.orders.writeedit on AdminOrderswrite
somcp_create_return_statusmcp.orders.writeadd on AdminStatuseswrite
somcp_update_return_statusmcp.orders.writeedit on AdminStatuseswrite
somcp_delete_return_statusmcp.orders.writedelete on AdminStatuseswrite
somcp_create_order_statusmcp.orders.writeadd on AdminStatuseswrite
Catalog - Products
ToolScopeBack office rightNature
somcp_search_productsmcp.catalog.readview on AdminProductsread
somcp_get_productmcp.catalog.readview on AdminProductsread
somcp_create_productmcp.catalog.writeadd on AdminProductswrite
somcp_update_productmcp.catalog.writeedit on AdminProductswrite
somcp_set_product_activemcp.catalog.writeedit on AdminProductswrite
somcp_delete_productmcp.catalog.writedelete on AdminProductswrite
Catalog - Categories
ToolScopeBack office rightNature
somcp_list_categoriesmcp.catalog.readview on AdminCategoriesread
somcp_get_categorymcp.catalog.readview on AdminCategoriesread
somcp_create_categorymcp.catalog.writeadd on AdminCategorieswrite
somcp_update_categorymcp.catalog.writeedit on AdminCategorieswrite
somcp_set_category_activemcp.catalog.writeedit on AdminCategorieswrite
Catalog - Brands
ToolScopeBack office rightNature
somcp_list_manufacturersmcp.catalog.readview on AdminManufacturersread
somcp_get_manufacturermcp.catalog.readview on AdminManufacturersread
somcp_create_manufacturermcp.catalog.writeadd on AdminManufacturerswrite
somcp_update_manufacturermcp.catalog.writeedit on AdminManufacturerswrite
somcp_set_manufacturer_activemcp.catalog.writeedit on AdminManufacturerswrite
somcp_list_manufacturer_addressesmcp.catalog.readview on AdminManufacturersread
somcp_get_manufacturer_addressmcp.catalog.readview on AdminManufacturersread
somcp_create_manufacturer_addressmcp.catalog.writeedit on AdminManufacturerswrite
somcp_update_manufacturer_addressmcp.catalog.writeedit on AdminManufacturerswrite
somcp_delete_manufacturer_addressmcp.catalog.writedelete on AdminManufacturerswrite
Catalog - Suppliers
ToolScopeBack office rightNature
somcp_list_suppliersmcp.catalog.readview on AdminSuppliersread
somcp_get_suppliermcp.catalog.readview on AdminSuppliersread
somcp_create_suppliermcp.catalog.writeadd on AdminSupplierswrite
somcp_update_suppliermcp.catalog.writeedit on AdminSupplierswrite
somcp_set_supplier_activemcp.catalog.writeedit on AdminSupplierswrite
Catalog - Attributes
ToolScopeBack office rightNature
somcp_list_attributesmcp.catalog.readview on AdminAttributesGroupsread
somcp_get_attribute_groupmcp.catalog.readview on AdminAttributesGroupsread
somcp_create_attribute_groupmcp.catalog.writeadd on AdminAttributesGroupswrite
somcp_update_attribute_groupmcp.catalog.writeedit on AdminAttributesGroupswrite
somcp_get_attribute_valuemcp.catalog.readview on AdminAttributesGroupsread
somcp_create_attribute_valuemcp.catalog.writeadd on AdminAttributesGroupswrite
somcp_update_attribute_valuemcp.catalog.writeedit on AdminAttributesGroupswrite
Catalog - Features
ToolScopeBack office rightNature
somcp_list_featuresmcp.catalog.readview on AdminFeaturesread
somcp_get_featuremcp.catalog.readview on AdminFeaturesread
somcp_create_featuremcp.catalog.writeadd on AdminFeatureswrite
somcp_update_featuremcp.catalog.writeedit on AdminFeatureswrite
somcp_get_feature_valuemcp.catalog.readview on AdminFeaturesread
somcp_create_feature_valuemcp.catalog.writeadd on AdminFeatureswrite
somcp_update_feature_valuemcp.catalog.writeedit on AdminFeatureswrite
Catalog - Files and taxes
ToolScopeBack office rightNature
somcp_list_attachmentsmcp.catalog.readview on AdminAttachmentsread
somcp_list_tax_rulesmcp.catalog.readview on AdminTaxRulesGroupread
Stock
ToolScopeBack office rightNature
somcp_get_stockmcp.stock.readview on AdminStockManagementread
somcp_list_low_stockmcp.stock.readview on AdminStockManagementread
somcp_set_stock_quantitymcp.stock.writeedit on AdminStockManagementwrite
Customers
ToolScopeBack office rightNature
somcp_search_customersmcp.customers.readview on AdminCustomersread
somcp_get_customermcp.customers.readview on AdminCustomersread
somcp_create_customermcp.customers.writeadd on AdminCustomerswrite
somcp_update_customermcp.customers.writeedit on AdminCustomerswrite
somcp_list_customer_groupsmcp.customers.readview on AdminGroupsread
Statistics
ToolScopeBack office rightNature
somcp_get_sales_summarymcp.stats.readview on AdminStatsread
somcp_list_best_sellersmcp.stats.readview on AdminStatsread
Content
ToolScopeBack office rightNature
somcp_list_cms_pagesmcp.content.readview on AdminCmsContentread
somcp_get_cms_pagemcp.content.readview on AdminCmsContentread
Modules
ToolScopeBack office rightNature
somcp_list_modulesmcp.modules.readview on AdminModulesSfread
somcp_get_modulemcp.modules.readview on AdminModulesSfread
somcp_install_modulemcp.modules.writeadd on AdminModulesSfwrite
somcp_set_module_activemcp.modules.writeedit on AdminModulesSfwrite
外观
工具范围后台权限类型
somcp_list_menu_linksmcp.appearance.readAdminModulesSf 上的 view读取
somcp_add_menu_linkmcp.appearance.writeAdminModulesSf 上的 edit写入
somcp_update_menu_linkmcp.appearance.writeAdminModulesSf 上的 edit写入
somcp_get_thememcp.appearance.readAdminThemes 上的 view读取
somcp_update_theme_settingmcp.appearance.writeAdminThemes 上的 edit写入
系统
工具范围后台权限类型
somcp_get_cache_statusmcp.system.readAdminPerformance 上的 view读取
somcp_clear_cachemcp.system.writeAdminPerformance 上的 delete写入
SEO
工具范围后台权限类型
somcp_get_seo_settingsmcp.seo.readAdminMeta 上的 view读取
somcp_list_meta_pagesmcp.seo.readAdminMeta 上的 view读取
somcp_audit_pagemcp.seo.readAdminMeta 上的 view读取
somcp_check_linksmcp.seo.readAdminMeta 上的 view读取
somcp_audit_sitemapmcp.seo.readAdminMeta 上的 view读取
somcp_audit_product_seomcp.seo.readAdminProducts 上的 view读取
somcp_audit_category_seomcp.seo.readAdminCategories 上的 view读取
somcp_audit_cms_seomcp.seo.readAdminCmsContent 上的 view读取
somcp_audit_brand_seomcp.seo.readAdminManufacturers 上的 view读取
somcp_update_cms_seomcp.seo.writeAdminCmsContent 上的 edit写入
somcp_update_meta_pagemcp.seo.writeAdminMeta 上的 edit写入
somcp_get_robots_txtmcp.seo.readAdminMeta 上的 view读取
somcp_generate_robots_txtmcp.seo.writeAdminMeta 上的 add、edit 和 delete写入
AEO
工具范围后台权限类型
somcp_audit_product_schemamcp.seo.readAdminProducts 上的 view读取

读取操作标记为只读,可安全重复执行。写入操作标记为具有破坏性,MCP 客户端会据此在运行前征求商家确认;每次调用只会更改一个对象,且在响应丢失时绝不会重试。

somcp_ping 有意不纳入权限系统:它不读取任何店铺数据,只会说明助手连接到的店铺、账户、语言和货币,因此助手始终能知道自己正在使用哪个账户,即使该账户完全没有权限也一样。

此模块附带 9 个提示词:检查连接、查找订单、更改订单状态、管理产品、检查库存、查找客户、审核 SEO、报告销售情况,以及读取内容页面。内置助手也会提供这些提示词,每个提示词都有自己的图标:当前后台页面对应的提示词会优先显示,其他提示词可通过其字段中的 + 按钮打开。每个工具的详细信息请参阅docs/TOOLS.md。

开发环境安装

  1. 将仓库克隆到店铺的 modules 文件夹中,目录名必须为 somcp:

    cd /path/to/prestashop/modules
    git clone https://github.com/novalo-dev/Prestashop-MCP-Server.git somcp
    
  2. 安装模块依赖,然后从 模块 > 模块管理器 安装模块并打开其设置:

    cd somcp && composer install --no-dev
    
  3. 复制提供给助手的地址。其格式如下: https://your-shop.example/module/somcp/mcp。

  4. 点击运行诊断。连接助手前,不应有任何红色提示;例如店铺处于维护模式等警告不会阻止连接。

本地店铺需要使用公开的 HTTPS 地址,MCP 客户端才能访问:使用 cloudflared 或 ngrok 等隧道,并将店铺域名设置为该地址。

版本号对应 GitHub 上发布的版本。在两个版本之间,main 可能会更改数据库架构;现有店铺的升级程序会在下一个版本发布时编写。因此,在开发店铺上,如果拉取请求说明架构发生变化,请重新安装模块。

兼容的助手

任何通过 HTTP 使用 OAuth 连接远程 MCP 服务的助手,都会使用商店的 MCP 地址,该地址显示在模块的配置页面上。以下助手均支持此连接方式。有关如何在每个助手中粘贴地址,请参阅 连接助手。

安全模型

  • OAuth 2.1 与 PKCE(仅 S256)。 授权码有效期为 60 秒,访问令牌默认有效期为 1 小时,刷新令牌默认有效期为 30 天;这些时长均可配置。刷新令牌会轮换;提交旧令牌会撤销授权。
  • 作用域规定助手可以执行哪些操作:mcp.access 用于连接, mcp.orders.read、mcp.orders.write、mcp.catalog.read、mcp.catalog.write、 mcp.stock.read、mcp.stock.write、mcp.customers.read、mcp.customers.write、 mcp.seo.read、mcp.seo.write、mcp.stats.read、mcp.content.read、 mcp.modules.read、mcp.modules.write、mcp.appearance.read、 mcp.appearance.write、mcp.system.read、mcp.system.write。其他 模块会声明自己的作用域,而不是借用这些作用域。
  • 后台权限会在每次调用时,根据员工当前的配置文件进行检查;商店始终取自令牌,而非请求。
  • 重定向 URI必须使用 https,或在环回地址上使用 http。商家可以将其限制为指定的主机列表,并限制哪些配置文件可以授予访问权限。
  • 每个连接都可以在设置中撤销,每次拒绝操作都会写入安全日志,日志中绝不会包含令牌或机密信息。

发现漏洞?请不要提交 issue:请参阅 SECURITY.md。

文档

  • Wiki:面向商家的模块文档,包括要求、安装、配置、连接助手和内置助手。
  • docs/ARCHITECTURE.md:请求如何经过模块、OAuth、MCP、多店铺和数据。
  • docs/EXTENDING.md:如何从自己的模块发布工具和提示词,并附有完整的示例模块。
  • docs/TOOLS.md:每个工具遵循的约定,以及各个工具的详细说明。
  • CHANGELOG.md:各个版本的变更内容,以及下一版本待发布的 Unreleased 内容。

如何参与

协议层、OAuth 和权限机制均已就绪。现在模块需要的是扩大覆盖面:将 PrestaShop 的更多功能开放为工具,测试更多客户端,并支持更多语言。ROADMAP.md 列出了具体工作,CONTRIBUTING.md 说明了如何搭建环境、拉取请求需要满足什么要求,以及哪些贡献适合参与。

贡献者

所有参与构建此模块的人,贡献最多者位于中间。每次显示此页面时,都会从 GitHub 读取姓名和贡献次数,因此始终保持最新。模块的设置页面也会从 GitHub 读取相同的名单,位置在 帮助和更新 > 认识我们的贡献者。

第 2 名
第 2 名贡献者
第 2 名贡献次数
第 1 名
第 1 名贡献者
第 1 名贡献次数
贡献最多者
第 3 名
第 3 名贡献者
第 3 名贡献次数

想成为下一位吗?CONTRIBUTING.md 说明了参与方式。

许可证

Academic Free License 3.0,与 Novalo 的其他模块相同。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。