Ecommerce

PrestaShop MCP Server

Connect your account, then chat with AI to run tools.

Run catalog audits, order triage, stock checks, and localization reviews on a PrestaShop store without clicking through the admin UI.

Best forE-commerce operationscatalog managementorder supportstore analytics

Try this workflow

Audit catalog health

Review my PrestaShop products, categories, stock availability, and specific prices, then identify the catalog items that need cleanup before the next campaign.

Managed
76 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

What you can do with PrestaShop

Built for

E-commerce operations, catalog management, order support, store analytics, merchant automation

Example workflows

Audit catalog health

Combines product, category, stock, and pricing views for store ops.

Try this

Review my PrestaShop products, categories, stock availability, and specific prices, then identify the catalog items that need cleanup before the next campaign.

Investigate order issues

Connects order data with support and delivery context.

Try this

Find recent PrestaShop orders with customer messages, carrier details, or payment records that suggest a fulfillment or support issue.

Prepare a merchandising update

Turns catalog structure into a practical merchandising checklist.

Try this

List active categories, manufacturers, suppliers, and products that should be checked before launching a new seasonal collection.

Review store localization

Surfaces the international store settings that affect checkout.

Try this

Check languages, currencies, countries, zones, taxes, and translated configuration in my PrestaShop store and summarize localization gaps.

Context to know first

What can I manage in PrestaShop from MCPBundles?

You can inspect core store objects such as products, orders, customers, categories, carriers, stock, currencies, tax rules, shops, suppliers, and related commerce configuration.

What is the best AI workflow for PrestaShop?

The strongest workflows walk several store objects together: order triage that joins line items, carriers, payments, and customer threads; catalog audits that cross-check products, combinations, stock, and specific prices; and localization reviews across languages, currencies, countries, zones, taxes, and tax rules.

Does this work on multi-shop PrestaShop installs?

Yes. Shops, shop groups, and shop URLs are first-class objects, and shop-scoped reads accept a shop id. The API key's shop entitlements are respected — calls to an unauthorised shop return a clear permission error rather than mixing results.

Related editorial

PrestaShop Store Operations with AI

How AI agents can audit catalog and stock, walk orders with line items and shipping, manage customers, and review localization without opening the back office.

Read article

AI Skill
SKILL.md

Domain knowledge for PrestaShop — workflow patterns, data models, and gotchas for your AI agent.

PrestaShop

PrestaShop is an open-source e-commerce platform. The webservice exposes the same data the back-office reads and writes: products, categories, manufacturers, suppliers, customers, addresses, orders, stock, pricing, taxes, shipping and CMS pages.

Resource Map

  • Catalogue master data — products, combinations (variants), stock_availables, specific_prices.
  • Taxonomy — categories, manufacturers, suppliers, product_features, product_options, tags.
  • Sales — orders (with inline order_rows line items), order_histories (status changes), order_invoices, order_payments, order_carriers, order_slip (refunds), order_states.
  • People — customers, addresses, customer_threads + customer_messages (support tickets), groups, carts, guests.
  • Storefront — cms_pages, contacts, messages, languages, currencies, image_types.
  • Geography — countries, states, zones; deliveries / price_ranges / weight_ranges drive shipping cost.
  • Tax — taxes, tax_rules, tax_rule_groups (assigned to products via id_tax_rules_group).
  • Multi-shop — shops, shop_groups, shop_urls; shop-scoped resources accept id_shop.
  • Discounts — cart_rules (coupons), specific_price_rules (bulk price overrides), specific_prices (per-row overrides).

Operating Order

  1. Use get_<resource>(schema='blank') to inspect the write shape before any upsert.
  2. Use get_languages and get_shops to resolve language / shop ids; pass them as language / id_shop on translatable / shop-scoped resources.
  3. To change order status, append a row to order_histories via change_order_status — never PUT orders.current_state directly (state-change emails and inventory hooks only fire through that path).
  4. To update inventory, find the stock_availables row via get_stock_levels(filter={"id_product": ...}) and call upsert_stock_level. The row already exists — PrestaShop creates one per (id_product, id_product_attribute, id_shop) when products are created.
  5. To stop a coupon early, delete_cart_rule. To stop a promotion early, delete_specific_price. To soft-disable, upsert with active=0 instead.

Filter Mini-Language

PrestaShop's filter syntax (passed verbatim through the filter map):

  • Literal: filter[id_customer]=42 — exact match.
  • Wildcard LIKE: filter[reference]=%FU_% — non-translatable columns only.
  • OR: filter[id]=[1|2|3].
  • Range: filter[id]=[1,100].
  • Date range: filter[date_upd]=[2026-01-01 00:00:00,2026-12-31 23:59:59] — must also pass date_filter=true, otherwise the filter is silently ignored.

Filtering on translatable fields (e.g. products.name, categories.name) is not supported. Filter on reference, id_category_default, id_manufacturer, or date_upd instead.

Sorting

Sort syntax is <field>_ASC or <field>_DESC, e.g. sort=id_DESC, sort=date_add_DESC. Date-column sorts (date_add, date_upd) require date_filter=true to be passed alongside the sort — without it the request times out on large tables. To get the most recent order or product reliably, prefer sort=id_DESC (id is monotonic in PrestaShop) unless you specifically need date-based ordering.

Counts and Pagination

The PrestaShop webservice does not return a total-count header anywhere — no Total-Count, X-Total-Count, Content-Range, no next_cursor, no has_more. Page-size full means "the page was full", not "there are exactly N total". Never claim "500+ orders" from a single full page.

To get an exact total, call the same get_<resource> tool with display='id' and a very large limit (e.g. 1000000). The response is just an id array, costs little server-side, and len(<resource_plural>) is the exact row count. Verified working on 1.7.x stores: get_orders(display='id', limit=1000000) returns ~24k ids in a few seconds.

To page through full records, set display='full' (default), pick a chunk size (e.g. limit=200), and increment offset until the response is shorter than limit.

Currency

Prices and totals (price, total_paid, total_paid_tax_incl, etc.) are in the store's default currency, not USD or EUR. Resolve the symbol/ISO code with get_currencies (iso_code, sign, conversion_rate) before reporting any monetary value to a user. A bare number without a currency label is misleading — many PrestaShop stores run in non-USD currencies (e.g. UYU, MXN, BRL, INR).

Status and Category Labels

Foreign-key id fields like current_state (orders), id_order_state (order_histories), id_category_default (products), id_manufacturer, id_supplier, id_carrier, id_country, id_state, and id_lang are opaque integers. The label is in a sibling resource — get_order_states for current_state, get_categories for id_category_default, get_manufacturers, get_suppliers, get_carriers, get_countries, get_states, get_languages. Resolve the label via the matching get_* tool before reporting it. Never invent labels for status or category integers — the same id maps to different labels across stores (state 4 may be "Shipped" on one install and "En tránsito" on another).

Multi-Shop

API keys are scoped per shop. Calling a shop the key is not entitled to returns a code-132 error. Inspect entitlements with get_shops and pass id_shop on shop-scoped reads when the install has more than one shop.

Translations

Single-language stores return translatable fields as bare strings. Multi-language stores return them as [{id: <lang_id>, value: "..."}]. Pass language=<lang_id> on reads to collapse to a single language. On writes, pass the same [{id, value}] shape — the tool serializes it correctly into PrestaShop's XML body.

Tools in this Server (76)

Prestashop Change Order Status

Change an order's status by appending a row to order_histories. PrestaShop fires the configured state-change emails and inventory hooks automatically....

Prestashop Delete Address

Permanently delete an address by id. PrestaShop sets deleted=1 internally rather than purging — historical orders that referenced this address keep th...

Prestashop Delete Cart Rule

Permanently delete a cart rule. To deactivate a coupon without losing redemption history, upsert with active=0 instead.

Prestashop Delete Category

Delete a PrestaShop category by id. Children are NOT automatically reparented — call get_categories(filter={'id_parent': '<this_id>'}) first and reass...

Prestashop Delete Cms Page

Permanently delete a CMS page. Storefront menu entries linking to this page become broken — review menu config before deleting in production.

Prestashop Delete Combination

Delete a product combination by id. Removes the variant and its stock_availables row; the parent product remains. To drop the variant from the catalog...

Prestashop Delete Product

Permanently delete a PrestaShop product by id. The deletion cascades to combinations, stock_availables, specific_prices and image associations for tha...

Prestashop Delete Specific Price

Delete a specific_price row by id. Use this to end a promotion early — to expire on schedule, set the to date instead via upsert_specific_price.

Prestashop Get Addresses

Read PrestaShop postal addresses (customer, manufacturer, supplier or warehouse). Pass id for a single address, or filter by id_customer to walk a cus...

Prestashop Get Carriers

Read shipping carriers configured on the store. is_module=1 means the carrier is implemented by a PrestaShop module (e.g. FedEx, DHL); is_module=0 are...

Prestashop Get Cart Rules

Read cart rules (discount codes / coupons). Pass id for a single rule, or filter by code (exact match), active, date_to (use date_filter=true for rang...

Prestashop Get Carts

Read shopping carts (abandoned and converted). Filter by id_customer for a customer's carts or by date_upd for abandoned-cart recovery flows. Each row...

Prestashop Get Categories

Read PrestaShop categories. Pass id for a single category, or filter by id_parent to walk a level of the tree. The tree root is the category with is_r...

Prestashop Get Cms Pages

Read PrestaShop CMS pages (about, FAQ, terms, shipping policy, etc.). Pass id for a single page, or filter by active or id_cms_category. meta_title, m...

Prestashop Get Combinations

Read PrestaShop product combinations (variants). Filter by id_product to walk all variants of a product, or pass id for a single combination. Each row...

Prestashop Get Configurations

Read PrestaShop's PS_* internal configuration key/value store. Filter by name (use PS_% prefix or '%text%' LIKE) to find specific flags (e.g. PS_WEIGH...

Prestashop Get Contacts

Read storefront contact-form recipient definitions (Sales, Support, Webmaster). Each row holds an email and a translatable name + description shown in...

Prestashop Get Countries

Read the ISO country list with calling code, id_zone (shipping zone), need_zip_code and need_identification_number flags. Translatable name. Look up i...

Prestashop Get Currencies

Read currencies enabled on the store, with conversion_rate to the default currency, ISO code and symbol.

Prestashop Get Customer Groups

Read customer groups (Default, Guest, Wholesale, etc.). Drive tax behaviour and cart-rule visibility. Translatable name.

Prestashop Get Customer Messages

Read individual messages inside a customer-service thread. Filter by id_customer_thread to walk a conversation in chronological order. id_employee is ...

Prestashop Get Customers

Read PrestaShop customers. Pass id for a single customer, or filter by email (use exact email or '%domain.com%' for LIKE), id_default_group, active, d...

Prestashop Get Customer Threads

Read customer-service ticket threads. Filter by status (open / closed / pending1 / pending2), id_customer, id_order or date_upd. Each thread groups me...

Prestashop Get Deliveries

Read the per-zone, per-carrier delivery price grid. Each row binds a (id_carrier, id_zone, id_range_price OR id_range_weight) tuple to a price. Use th...

Prestashop Get Employees

Read back-office user accounts (firstname, lastname, email, id_profile). id_profile drives permissions; resolve labels via the profiles resource (not ...

Prestashop Get Guests

Read browser/client fingerprints captured for non-logged-in shoppers (mostly diagnostic — javascript / screen size / user-agent). Anonymous orders lin...

Prestashop Get Image Types

Read named image size presets used by the storefront (small_default, cart_default, home_default, large_default, etc.). Width/height in pixels; product...

Prestashop Get Languages

Read languages installed on the store. id is what you pass as the language parameter on translatable resources, and as the id field inside translatabl...

Prestashop Get Manufacturers

Read PrestaShop manufacturers (brands). Pass id for a single brand, or filter by name (use '%text%' for LIKE). short_description, description and meta...

Prestashop Get Messages

Read free-form messages attached to orders or carts (private notes from customers at checkout or staff in the back-office). Filter by id_order, id_car...

Prestashop Get Order Carriers

Read carrier assignments and tracking numbers per order. One row per carrier shipped on an order — orders with split shipments have multiple rows.

Prestashop Get Order Details

Read order line items (one row per product per order). For the common case of fetching a single order, prefer get_orders(id=<n>) — it returns the inli...

Prestashop Get Order Histories

Read the status-change audit trail. Each row records a transition to id_order_state at date_add. Filter by id_order to walk a single order's history; ...

Prestashop Get Order Invoices

Read invoice documents generated against orders. Filter by id_order for an order's invoices, or by number for a specific invoice number. Includes tota...

Prestashop Get Order Payments

Read payment transactions captured against orders (gateway, transaction id, amount, currency). Note this resource keys off order_reference (not id_ord...

Prestashop Get Orders

Read PrestaShop orders. Pass id for a single order, or filter by id_customer / current_state / reference / date_add / date_upd. With the default displ...

Prestashop Get Order Slips

Read credit slips (refund documents) issued against orders. Filter by id_order for an order's slips or by id_customer for a customer's refund history....

Prestashop Get Order States

Read the catalogue of order status definitions (Awaiting payment, Shipped, Delivered, Cancelled, Refunded, etc.) with their id, colour and translated ...

Prestashop Get Physical Stores

Read physical store locations (click-and-collect points). Each row carries name, postal address, opening hours and a lat/lng pair for store-locator wi...

Prestashop Get Price Ranges

Read price brackets used by carriers that compute shipping cost from cart total. Filter by id_carrier for one carrier's ranges. The actual prices per ...

Prestashop Get Product Customization Fields

Read per-product customization field definitions (engraving lines, monogram inputs, file uploads, etc.). Filter by id_product to walk a product's fiel...

Prestashop Get Product Features

Read product feature definitions ('Color', 'Material', 'Weight', etc.). Translatable name. Values for each feature live in get_product_feature_values;...

Prestashop Get Product Feature Values

Read discrete values for a product feature (e.g. feature 'Color' has values 'Red', 'Blue'). Filter by id_feature to walk a specific feature's values. ...

Prestashop Get Product Options

Read attribute groups ('Size', 'Color', 'Storage') used to build product combinations. Values live in get_product_option_values; combinations select o...

Prestashop Get Product Option Values

Read per-attribute-group values used to build combinations (e.g. group 'Size' has values 'S', 'M', 'L'). Filter by id_attribute_group. Translatable na...

Prestashop Get Products

Read PrestaShop products. Pass id to fetch one record, otherwise filter/sort/paginate the catalogue. Returns full fields by default — name, descriptio...

Prestashop Get Product Suppliers

Read per-supplier wholesale prices and supplier references for a product or specific combination. Filter by id_product to find every supplier offering...

Prestashop Get Shop Groups

Read multi-shop group definitions. Shops in the same group can share customers, orders, carts and stock; shops in different groups are isolated. Inspe...

Prestashop Get Shops

Read the shops in the multi-shop install. id is what you pass as id_shop on shop-scoped resources (products, categories, stock, orders, etc.). API key...

Prestashop Get Shop Urls

Read domain / physical_uri / virtual_uri rows that route HTTP requests to a given shop in multi-shop installs. main=1 marks the canonical URL; ssl=1 i...

Prestashop Get Specific Price Rules

Read bulk pricing rules that apply across ranges of products or categories (vs. specific_prices, which target one row at a time). Filter by id_shop, i...

Prestashop Get Specific Prices

Read per-product, per-customer or per-group price overrides (promotions, customer pricing, volume discounts). Filter by id_product to find overrides o...

Prestashop Get States

Read sub-country regions (US states, Canadian provinces, Italian regions, etc.) keyed to id_country. Filter by id_country for a country's regions, or ...

Prestashop Get Stock Levels

Read per-(product, combination, shop) inventory rows. Pass id for a single row, or filter by id_product (and optionally id_product_attribute and id_sh...

Prestashop Get Stock Movement Reasons

Read reason codes attached to stock movements (manual edit, order, return, transfer, etc.). Translatable name. sign is +1 for adds and -1 for removes.

Prestashop Get Stock Movements

Read the audit trail of stock changes per product / combination, with reason (id_stock_mvt_reason) and a signed quantity delta. Drives the back-office...

Prestashop Get Suppliers

Read PrestaShop suppliers (wholesale partners). Pass id for a single supplier, or filter by name. description and meta_* are translatable. Per-product...

Prestashop Get Tags

Read free-text product tags. Tags are scoped per language via id_lang — the same word appears as a separate row for each language it's used in. Filter...

Prestashop Get Taxes

Read tax rate definitions (rate %, translatable name). The geographic membership for each rate is in tax_rules — a tax with rate=20 only applies in co...

Prestashop Get Tax Rule Groups

Read named groups of tax rules (e.g. 'EU VAT 20%', 'US Sales Tax'). Products attach to a group via id_tax_rules_group. The geographic membership of ea...

Prestashop Get Tax Rules

Read per-country / per-state membership rows for a tax rule group. Filter by id_tax_rules_group to walk a group's geography. Each row links a rate (id...

Prestashop Get Translated Configurations

Read translated versions of the configurations key/value store. Same as get_configurations, but with a per-language value column for keys that differ ...

Prestashop Get Weight Ranges

Read weight brackets used by carriers that compute shipping cost from cart weight. Filter by id_carrier for one carrier's ranges.

Prestashop Get Zones

Read geographic zones (continents / regions) used to group countries for shipping and tax rules. Country -> zone membership is on get_countries.id_zon...

Prestashop Reply Customer Message

Append a staff reply (or private internal note) to a customer-service thread. Set private=true to keep the note hidden from the customer. PrestaShop e...

Prestashop Upsert Address

Create or update a postal address. The address binds to exactly one of id_customer / id_manufacturer / id_supplier / id_warehouse — the others must be...

Prestashop Upsert Cart Rule

Create or update a cart rule (discount code). Set reduction_percent for percentage off OR reduction_amount + reduction_currency + reduction_tax for a ...

Prestashop Upsert Category

Create or update a PrestaShop category. Set id to update, omit to create. id_parent positions the category in the tree (root is the category with is_r...

Prestashop Upsert Cms Page

Create or update a CMS page (about, FAQ, terms, shipping policy). meta_title, meta_description, meta_keywords, content and link_rewrite are translatab...

Prestashop Upsert Combination

Create or update a product combination (variant). Set id to update, omit to create. Required fields on create: id_product plus associations.product_op...

Prestashop Upsert Customer

Create or update a customer account. Required on create: email, passwd, firstname, lastname. PrestaShop hashes the password server-side — pass the pla...

Prestashop Upsert Manufacturer

Create or update a manufacturer (brand). name is a plain string (not translatable) and is required on create. Translatable fields use the [{id: <lang>...

Prestashop Upsert Product

Create or update a PrestaShop product. Set id to PUT (update) an existing record, omit it to POST (create) a new one. The body is serialized into Pres...

Prestashop Upsert Specific Price

Create or update a specific_price row. Use 0 in id_shop, id_currency, id_country, id_group, id_customer for wildcards (apply to all). Pair price=-1 wi...

Prestashop Upsert Stock Level

Update inventory quantity for a product/combination/shop stock row. The row id comes from get_stock_levels — PrestaShop creates one row per (id_produc...

Prestashop Upsert Supplier

Create or update a supplier. name is a plain (non-translatable) string and is required on create. Per-product wholesale prices are written separately ...

Frequently Asked Questions

What is the PrestaShop MCP server?

PrestaShop is an open-source e-commerce platform that enables businesses to create and manage online stores, offering features for product catalog management, payment integration, and order processing. Use it to set up a customizable online shop and sell products over the internet. It provides 76 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect PrestaShop to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/prestashop. Authentication is handled automatically.

How many tools does PrestaShop provide?

PrestaShop provides 76 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does PrestaShop require?

PrestaShop uses API Key. PrestaShop requires credentials. Connect via MCPBundles and authentication is handled automatically.

What can I manage in PrestaShop from MCPBundles?

You can inspect core store objects such as products, orders, customers, categories, carriers, stock, currencies, tax rules, shops, suppliers, and related commerce configuration.

What is the best AI workflow for PrestaShop?

The strongest workflows walk several store objects together: order triage that joins line items, carriers, payments, and customer threads; catalog audits that cross-check products, combinations, stock, and specific prices; and localization reviews across languages, currencies, countries, zones, taxes, and tax rules.

Does this work on multi-shop PrestaShop installs?

Yes. Shops, shop groups, and shop URLs are first-class objects, and shop-scoped reads accept a shop id. The API key's shop entitlements are respected — calls to an unauthorised shop return a clear permission error rather than mixing results.

Can this help with inventory and catalog cleanup?

Yes. The server exposes product, category, supplier, stock, and pricing data so an agent can identify inconsistent catalog entries, missing metadata, or items that need operational review.

Is this only for developers?

No. Developers can use it for store automation, but the public page is most useful for operators who need faster answers about orders, catalog state, checkout configuration, or customer support context.

Setup Instructions

Connect PrestaShop to any MCP client in minutes

https://mcp.mcpbundles.com/bundle/prestashop

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to PrestaShop and paste the MCP URL into Remote MCP server URL.
  4. Click Add. PrestaShop will appear under Not connected — select it and click Connect to complete OAuth.
Name: PrestaShop
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/prestashop
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use PrestaShop?

Sign in to connect your credentials and start running tools from the chat.

PrestaShop MCP Server & Skill — 76 Tools