O'So MCP Server for PrestaShop

السجل الرسمي الذكاء الاصطناعي والوكلاء

Lets Claude, ChatGPT or Cursor connect to PrestaShop, with each employee approving what they may do.

ماذا يمكنك أن تفعل مع O'So MCP Server for PrestaShop؟

  • Serves MCP from inside PrestaShop. No separate service, no Node process.
  • Runs its own OAuth 2.1 authorization server: discovery documents (RFC 9728
  • Uses PrestaShop permissions as they are. An employee connects an assistant
  • Supports multistore natively. Each shop has its own address, its own
  • Lets any module publish tools and prompts through two hooks, by returning
  • Has a built-in assistant in the back office. A chat button at the top
  • Speaks both eras of the protocol from one endpoint: the stateless

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http o-so-mcp-server-for-prestashop 'https://{shop}/module/somcp/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "o-so-mcp-server-for-prestashop": {
            "type": "http",
            "url": "https://{shop}/module/somcp/mcp"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. PrestaShop MCP Server
  2. What it does
  3. Screenshots
  4. Compatibility
  5. Tools
  6. Install for development
  7. Compatible assistants
  8. Security model
  9. Documentation
  10. Where to help
  11. Contributors
  12. License

PrestaShop MCP Server

A PrestaShop module that turns a shop into an MCP server. Claude, ChatGPT, Le Chat or any MCP-compatible assistant (full list) can then work with the shop's orders and catalogue, through a standard protocol, with OAuth 2.1 and the employee's own back office permissions, instead of a database login or an API key that can do everything.

The module folder is somcp; in the back office it is called O'So MCP Server.

The module documentation - requirements, installation, configuration and how to connect each assistant - is on the wiki.

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

This repository is looking for PrestaShop developers who want to build it with us. See Where to help.


What it does

  • Serves MCP from inside PrestaShop. No separate service, no Node process. The endpoint is a module front controller.
  • Runs its own OAuth 2.1 authorization server: discovery documents (RFC 9728 and RFC 8414), PKCE S256, dynamic client registration and client ID metadata documents, refresh token rotation with reuse detection. Tokens are stored hashed and bound to the shop they were issued for.
  • Uses PrestaShop permissions as they are. An employee connects an assistant on their own behalf, on a consent screen in the back office. The assistant then holds exactly that employee's rights: each tool is tied to a back office page and one of the four rights PrestaShop already manages, view, add, edit or delete.
  • Supports multistore natively. Each shop has its own address, its own tokens and its own settings with the usual inheritance. An employee only reaches the shops they are attached to.
  • Lets any module publish tools and prompts through two hooks, by returning arrays. No dependency on somcp's classes, so those modules still pass the Addons validator. See docs/EXTENDING.md.
  • Has a built-in assistant in the back office. A chat button at the top right of every page opens a conversation with the AI the merchant connected with their own API key: Claude, ChatGPT, Gemini, Mistral, DeepSeek, Grok or Cohere - each link opens the page where that provider gives out keys - or with an AI running on the merchant's own computer, such as Ollama or LM Studio, linked through O'So AI Relay with no key and nothing opened on their network. It uses the same tools, with the rights of the employee signed in, and asks for approval before any change. Several assistants can share the work by role. Each conversation can switch on deep thinking (Claude, Gemini, OpenAI's reasoning models) and web search (Claude and Gemini on their own, the others through one of them), and switch the memory off, from the + menu. It knows the module it belongs to, and for super administrators reads and, after approval, changes its settings. Runs on Neuron AI.
  • Speaks both eras of the protocol from one endpoint: the stateless 2026-07-28 revision, with questions in the middle of a call, and the 2025-11-25, 2025-06-18 and 2025-03-26 revisions.

Screenshots

The settings pages on PrestaShop 9.1, one after the other: configuration, tools and prompts, access and security, connected assistants, built-in assistant, security log, help and updates, and the chat.

Compatibility

PrestaShop8.0.0 to 9.x (ps_versions_compliancy 8.0.0 - 9.99.99)
PHP8.1 or later
Multistoresupported
LanguagesEnglish, French, Spanish, German

The shop has to be reachable over HTTPS, with friendly URLs enabled, and installed at the root of its domain: OAuth anchors one of its discovery documents there. The diagnostic button in the settings checks the certificate, the SSL setting, the friendly URLs, the location and the addresses an assistant calls, from the outside. The full list of requirements is on the wiki.

Tools

Grouped by back office page, each object's reads before its writes. A new tool goes in the table of its page.

Connection
ToolScopeBack office rightNature
somcp_pingmcp.accessnoneread
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
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
Appearance
ToolScopeBack office rightNature
somcp_list_menu_linksmcp.appearance.readview on AdminModulesSfread
somcp_add_menu_linkmcp.appearance.writeedit on AdminModulesSfwrite
somcp_update_menu_linkmcp.appearance.writeedit on AdminModulesSfwrite
somcp_get_thememcp.appearance.readview on AdminThemesread
somcp_update_theme_settingmcp.appearance.writeedit on AdminThemeswrite
System
ToolScopeBack office rightNature
somcp_get_cache_statusmcp.system.readview on AdminPerformanceread
somcp_clear_cachemcp.system.writedelete on AdminPerformancewrite
SEO
ToolScopeBack office rightNature
somcp_get_seo_settingsmcp.seo.readview on AdminMetaread
somcp_list_meta_pagesmcp.seo.readview on AdminMetaread
somcp_audit_pagemcp.seo.readview on AdminMetaread
somcp_audit_product_seomcp.seo.readview on AdminProductsread
somcp_audit_category_seomcp.seo.readview on AdminCategoriesread
somcp_audit_cms_seomcp.seo.readview on AdminCmsContentread
somcp_audit_brand_seomcp.seo.readview on AdminManufacturersread
somcp_update_cms_seomcp.seo.writeedit on AdminCmsContentwrite
somcp_update_meta_pagemcp.seo.writeedit on AdminMetawrite
somcp_get_robots_txtmcp.seo.readview on AdminMetaread
somcp_generate_robots_txtmcp.seo.writeadd, edit and delete on AdminMetawrite

Reads are flagged read-only and safe to repeat. Writes are flagged destructive, which is what MCP clients use to ask the merchant before running them; each write changes one object per call and is never retried on a lost answer.

somcp_ping is outside the permission system on purpose: it reads no shop data and only says what the assistant is connected to (shop, account, language, currency), so an assistant can always tell which account it is using, even one with no rights at all.

Nine prompts ship with the module: checking the connection, finding an order, changing an order status, managing products, checking stock, finding a customer, auditing SEO, reporting sales, and reading content pages. The built-in assistant offers them too, each with its icon: those of the back office page open first, and any of them from the + of its field. Details of every tool are in docs/TOOLS.md.

Install for development

  1. Clone the repository into your shop's modules folder, as somcp:
     cd /path/to/prestashop/modules
     git clone https://github.com/novalo-dev/Prestashop-MCP-Server.git somcp
  2. Install the module's dependencies, then install it from Modules > Module Manager and open its settings:
     cd somcp && composer install --no-dev
  3. Copy the address to give to your assistant. It looks like https://your-shop.example/module/somcp/mcp.
  4. Press Run the diagnostic. No line should be red before you connect an assistant; a warning, such as a shop in maintenance, does not stop it.

A local shop needs a public HTTPS address for an MCP client to reach it: use a tunnel such as cloudflared or ngrok and set the shop's domain to it.

Versions are the releases published on GitHub. Between two releases, main may change the database schema; the upgrade for existing shops is written when the next release is published, so on a development shop, reinstall the module when a pull request says its schema changed.

Compatible assistants

Any assistant that connects to a remote MCP server over HTTP with OAuth uses the shop's MCP address, shown on the module's configuration page. The ones below can. Where to paste the address in each of them: Connect an assistant.

Security model

  • OAuth 2.1 with PKCE (S256 only). Authorization codes live 60 seconds, access tokens one hour and refresh tokens thirty days by default, both configurable. Refresh tokens rotate; presenting an old one revokes the grant.
  • Scopes say what an assistant may do: mcp.access to connect, 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. Other modules declare their own scopes rather than borrowing these.
  • Back office rights are checked on every call, against the employee's current profile, and the shop always comes from the token, never from the request.
  • Redirect URIs must be https, or http on loopback. The merchant can restrict them to a list of hosts, and restrict which profile may grant access.
  • Every connection can be withdrawn from the settings, and every refusal is written to a security log that never contains a token or a secret.

Found a vulnerability? Please do not open an issue: see SECURITY.md.

Documentation

  • Wiki: the module documentation for merchants - requirements, installation, configuration, connecting an assistant and the built-in assistant.
  • docs/ARCHITECTURE.md: how a request travels through the module, OAuth, MCP, multistore, data.
  • docs/EXTENDING.md: publish tools and prompts from your own module, with a complete example module.
  • docs/TOOLS.md: the conventions every tool follows, and each tool in detail.
  • CHANGELOG.md: what each release changed, and what waits under Unreleased for the next one.

Where to help

The protocol layer, OAuth and permissions are in place. What the module needs now is reach: more of PrestaShop exposed as tools, more clients tested, more languages. ROADMAP.md lists concrete pieces of work, and CONTRIBUTING.md explains how to set up, what a pull request needs, and which contributions fit.

Contributors

Everyone who helped build the module, the top contributor first. The pictures come straight from GitHub and follow each profile; the shares of the commits are refreshed at each release. The settings page of the module shows the same list, read from GitHub, under Help and updates > Meet our contributors.

novalo-dev

261 contributions · 84%

Top contributor

Ptraaah

50 contributions · 16%

Want to be next? CONTRIBUTING.md explains how.

License

Academic Free License 3.0, like the rest of the Novalo modules.

الأسئلة الشائعة

ما هو O'So MCP Server for PrestaShop؟

Lets Claude, ChatGPT or Cursor connect to PrestaShop, with each employee approving what they may do.

كيف أثبّت O'So MCP Server for PrestaShop؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http o-so-mcp-server-for-prestashop 'https://{shop}/module/somcp/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج O'So MCP Server for PrestaShop إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل O'So MCP Server for PrestaShop مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص AFL-3.0.

من يصون O'So MCP Server for PrestaShop؟

ينشره novalo-dev. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.