PrestaShop

PrestaShop

Your own PrestaShop shop: products and combinations, stock, orders with their status history, customers, addresses, carriers and categories, through the shop's Webservice API. Change an order's status, a product's price or a stock quantity.

7-day free trial · No credit card · EU-hosted

Ask PrestaShop anything

Try a real prompt against PrestaShop via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.

Install PrestaShop on Cloud
PrestaShop · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

Setup in 2 minutes

  1. 1Start a free trial on cloud.anythingmcp.com.
  2. 2Click PrestaShop in the connector store. Paste credentials when prompted.
  3. 3Mint an MCP API key and point your AI client at the generated MCP URL.
Install PrestaShop now

Guides for PrestaShop

Step-by-step setup for the most popular AI clients.

Setting up PrestaShop

From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.

PrestaShop

This connector talks to the Webservice API of a self-hosted PrestaShop shop (<shop address>/api). It asks for JSON on every call (output_format=JSON). Reading works on PrestaShop 1.7 and 8; the two update tools (prestashop_update_product_price, prestashop_update_stock_quantity) use PATCH, which the Webservice offers from PrestaShop 8.0.

Setup

  1. In the back office open Advanced Parameters → Webservice and set Enable PrestaShop's webservice to Yes. Save.
  2. On the same page click Add new webservice key. Click Generate for a 32-character key, add a description, set Status to enabled.
  3. Under Permissions tick, per resource, the methods the key may use. For everything this connector does: GET on products, combinations, stock_availables, orders, order_states, order_histories, customers, addresses, carriers, categories; POST on order_histories (change an order's status); PATCH on products and stock_availables (price and stock). A read-only key needs only the GET column. In multistore mode, also pick the shop(s) the key may reach.
  4. Paste the shop address into PRESTASHOP_URL (the root, e.g. https://shop.example.com, or https://example.com/shop when the shop lives in a folder; no /api, no trailing slash) and the key into PRESTASHOP_WEBSERVICE_KEY.

The key travels as the username of HTTP Basic authentication with an empty password. Behind Apache with PHP as CGI/FastCGI, the Authorization header can be dropped before PrestaShop sees it (every call then answers 401): enable CGI mode for PHP on the Webservice page, or fix the server so it passes the header.

Lists: display, filter, sort, limit

  • display: without it, a list returns only ids. full returns every field; [id,name,price] returns the fields named. Customer tools always return a fixed set of fields that leaves out the password hash and secure key.
  • filters (where offered): extra query parameters in PrestaShop syntax, joined with &, for fields the tool has no argument for, e.g. filter[date_upd]=[2026-01-01,2026-12-31] or filter[ean13]=[4006381333931]. Value syntax: [a] exact (case-insensitive), [a|b] one of, [1,10] range, [ab]% starts with, %[ab] ends with, %[ab]% contains. Filtering or sorting by a field the resource does not have is answered with HTTP 500 and error code 38, which lists the fields that can be used.
  • sort: [field_ASC] or [field1_DESC,field2_ASC].
  • limit: 20 for the first 20 rows, 40,20 for 20 rows starting at offset 40. There is no total count; page until a call returns fewer rows than asked for. An empty result comes back as [].
  • Dates (date_add, date_upd) can be filtered and sorted; the order tool already sends the date=1 switch PrestaShop needs for that.
  • language: multilingual fields (product name, description, link_rewrite, category and order status name) come back as a list of {id, value} per language when the shop has several languages; pass a language id (1) to get plain text.

Money and stock

  • Product price is the base price without tax, in the shop's default currency. Order totals come in total_paid_tax_incl / total_paid_tax_excl, in the order's currency (id_currency, conversion_rate).
  • Stock lives in stock_availables, one row per product and combination: id_product_attribute 0 is the product row, other rows are its combinations (sizes, colours). For a product with combinations, change the combination rows; the product row holds their total. A product with depends_on_stock 1 is managed by advanced stock management and its quantity cannot be set here.

Order status

prestashop_list_order_states gives the shop's statuses (ids differ between shops). prestashop_change_order_state adds a row to the order's history, which is how PrestaShop changes current_state and runs what the status triggers (invoice, stock movements, and, with send_email 1, the status e-mail to the customer). PrestaShop changes the status before it sends the e-mail; if the shop cannot send it, the answer is Unable to save resource (code 46) although current_state has already changed. Check with prestashop_get_order before trying again.

Rate limits

PrestaShop sets none; the shop's own server is the limit. Prefer display=[…] with the fields needed over display=full on long lists.

Common errors

  • 401 Authentification key is not active / No permission for this authentication key: wrong or disabled key, or the Authorization header is lost (see CGI mode above).
  • 401 / 405 on one resource only: the key lacks that method for that resource; tick it under Permissions.
  • 503 The PrestaShop webservice is disabled: switch the Webservice on (step 1).
  • 404 on /api: the shop has no friendly URLs rewrite (.htaccess) for the API; regenerate it under Shop Parameters → Traffic & SEO (save with Friendly URL on).
  • 405 on the update tools: the shop runs PrestaShop 1.7, whose Webservice has no PATCH.

Your AI is two clicks away from PrestaShop.

Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.