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.
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.
Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.
Browse all toolsBuilt for
E-commerce operations, catalog management, order support, store analytics, merchant automation
Audit catalog health
Combines product, category, stock, and pricing views for store ops.
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.
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.
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.
Check languages, currencies, countries, zones, taxes, and translated configuration in my PrestaShop store and summarize localization gaps.
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.
Domain knowledge for PrestaShop — workflow patterns, data models, and gotchas for your AI agent.
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.
PrestaShop's filter syntax (passed verbatim through the filter map):
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.
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.
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.
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).
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).
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.
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.
Change an order's status by appending a row to order_histories. PrestaShop fires the configured state-change emails and inventory hooks automatically....
Permanently delete an address by id. PrestaShop sets deleted=1 internally rather than purging — historical orders that referenced this address keep th...
Permanently delete a cart rule. To deactivate a coupon without losing redemption history, upsert with active=0 instead.
Delete a PrestaShop category by id. Children are NOT automatically reparented — call get_categories(filter={'id_parent': '<this_id>'}) first and reass...
Permanently delete a CMS page. Storefront menu entries linking to this page become broken — review menu config before deleting in production.
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...
Permanently delete a PrestaShop product by id. The deletion cascades to combinations, stock_availables, specific_prices and image associations for tha...
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.
Read PrestaShop postal addresses (customer, manufacturer, supplier or warehouse). Pass id for a single address, or filter by id_customer to walk a cus...
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...
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...
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...
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...
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...
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...
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...
Read storefront contact-form recipient definitions (Sales, Support, Webmaster). Each row holds an email and a translatable name + description shown in...
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...
Read currencies enabled on the store, with conversion_rate to the default currency, ISO code and symbol.
Read customer groups (Default, Guest, Wholesale, etc.). Drive tax behaviour and cart-rule visibility. Translatable name.
Read individual messages inside a customer-service thread. Filter by id_customer_thread to walk a conversation in chronological order. id_employee is ...
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...
Read customer-service ticket threads. Filter by status (open / closed / pending1 / pending2), id_customer, id_order or date_upd. Each thread groups me...
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...
Read back-office user accounts (firstname, lastname, email, id_profile). id_profile drives permissions; resolve labels via the profiles resource (not ...
Read browser/client fingerprints captured for non-logged-in shoppers (mostly diagnostic — javascript / screen size / user-agent). Anonymous orders lin...
Read named image size presets used by the storefront (small_default, cart_default, home_default, large_default, etc.). Width/height in pixels; product...
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...
Read PrestaShop manufacturers (brands). Pass id for a single brand, or filter by name (use '%text%' for LIKE). short_description, description and meta...
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...
Read carrier assignments and tracking numbers per order. One row per carrier shipped on an order — orders with split shipments have multiple rows.
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...
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; ...
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...
Read payment transactions captured against orders (gateway, transaction id, amount, currency). Note this resource keys off order_reference (not id_ord...
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...
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....
Read the catalogue of order status definitions (Awaiting payment, Shipped, Delivered, Cancelled, Refunded, etc.) with their id, colour and translated ...
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...
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 ...
Read per-product customization field definitions (engraving lines, monogram inputs, file uploads, etc.). Filter by id_product to walk a product's fiel...
Read product feature definitions ('Color', 'Material', 'Weight', etc.). Translatable name. Values for each feature live in 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. ...
Read attribute groups ('Size', 'Color', 'Storage') used to build product combinations. Values live in get_product_option_values; combinations select o...
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...
Read PrestaShop products. Pass id to fetch one record, otherwise filter/sort/paginate the catalogue. Returns full fields by default — name, descriptio...
Read per-supplier wholesale prices and supplier references for a product or specific combination. Filter by id_product to find every supplier offering...
Read multi-shop group definitions. Shops in the same group can share customers, orders, carts and stock; shops in different groups are isolated. Inspe...
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...
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...
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...
Read per-product, per-customer or per-group price overrides (promotions, customer pricing, volume discounts). Filter by id_product to find overrides o...
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 ...
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...
Read reason codes attached to stock movements (manual edit, order, return, transfer, etc.). Translatable name. sign is +1 for adds and -1 for removes.
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...
Read PrestaShop suppliers (wholesale partners). Pass id for a single supplier, or filter by name. description and meta_* are translatable. Per-product...
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...
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...
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...
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...
Read translated versions of the configurations key/value store. Same as get_configurations, but with a per-language value column for keys that differ ...
Read weight brackets used by carriers that compute shipping cost from cart weight. Filter by id_carrier for one carrier's ranges.
Read geographic zones (continents / regions) used to group countries for shipping and tax rules. Country -> zone membership is on get_countries.id_zon...
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...
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...
Create or update a cart rule (discount code). Set reduction_percent for percentage off OR reduction_amount + reduction_currency + reduction_tax for a ...
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...
Create or update a CMS page (about, FAQ, terms, shipping policy). meta_title, meta_description, meta_keywords, content and link_rewrite are translatab...
Create or update a product combination (variant). Set id to update, omit to create. Required fields on create: id_product plus associations.product_op...
Create or update a customer account. Required on create: email, passwd, firstname, lastname. PrestaShop hashes the password server-side — pass the pla...
Create or update a manufacturer (brand). name is a plain string (not translatable) and is required on create. Translatable fields use the [{id: <lang>...
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...
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...
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...
Create or update a supplier. name is a plain (non-translatable) string and is required on create. Per-product wholesale prices are written separately ...
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).
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.
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.
PrestaShop uses API Key. PrestaShop requires credentials. Connect via MCPBundles and authentication is handled automatically.
You can inspect core store objects such as products, orders, customers, categories, carriers, stock, currencies, tax rules, shops, suppliers, and related commerce configuration.
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.
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.
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.
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.
Connect PrestaShop to any MCP client in minutes
The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.
PrestaShop and paste the MCP URL into Remote MCP server URL.Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).
More ecommerce integrations you might like
This server acts as an interface for the 123elec online store, providing access to product catalogs,...
The Aristocles Data API offers tools for comparing subscription prices and services across different...
Cigar price comparison and discovery platform. Compare prices across 17+ retailers for 58,000+ cigar...
The ComOS Federation Gateway facilitates the management of tenants and agents within a federation, p...
Manage customer data and orders. View customer details, order history, and webshop integration. Use ...
Skybridge Ecommerce provides a carousel feature for showcasing products, enhancing the online shoppi...