E-commerce Store Platform MCP Tools

This page lists the planned MCP tools for the E-commerce Store Platform, covering store settings, sales channels, products and categories, media uploads, pricing and promotions, inventory, customers, abandoned carts, orders, payments, refunds, fulfilment, returns, operations analytics, and governed bulk imports.

ecommerce.config.get

read

Read store settings, including enabled features, languages, timezone, currency, payment methods, tax settings, stock deduction rules, and governance policies.

No prerequisite tool.

Read-only tool; no approval request is created.

Use returned settings as the source of truth; do not infer currency, tax rate, payment state, or stock deduction timing.

ecommerce.sales_channels.list

read

List available sales channels such as online store, POS, B2B portal, social ordering, or marketplace sync channels.

ecommerce.config.get

Read-only tool; no approval request is created.

Use returned channel_id values when creating or filtering orders, products, and prices; do not infer IDs from display names.

ecommerce.locations.list

read

List warehouses, stores, pickup points, and whether each location supports sellable stock, fulfilment, and returns.

ecommerce.config.get

Read-only tool; no approval request is created.

Inventory, fulfilment, or return writes must use a valid location_id; do not use disabled locations for new operations.

ecommerce.categories.list

read

List product categories, hierarchy, ordering, display state, URL slugs, and category constraints for publishing.

ecommerce.config.get

Read-only tool; no approval request is created.

Product creates or updates must use returned categories; mark unknown categories as pending confirmation instead of inventing names.

ecommerce.fulfilment_profiles.list

read

List delivery methods, pickup options, shipping rules, service areas, free-shipping thresholds, carriers, and return handling settings.

ecommerce.config.get

Read-only tool; no approval request is created.

Shipment, shipping fee, and return workflows must use valid profile_id values; do not estimate service areas or fees.

ecommerce.owners.list

read

List assignable operations, customer service, warehouse, and manager accounts for product drafts, cart recovery, order exceptions, and returns.

ecommerce.config.get

Read-only tool; no approval request is created.

Do not assign tasks or approvals to users outside the returned list, disabled accounts, or users without relevant permissions.

ecommerce.products.search

read

Search products by name, SKU, barcode, category, brand, publish state, sales channel, or stock state.

ecommerce.config.get, ecommerce.categories.list

Read-only tool; no approval request is created.

Search for duplicate SKUs, barcodes, and similar product names before creating a new product.

ecommerce.products.get

read

Read one product with content, media, categories, SKU, variants, prices, stock summary, SEO fields, and version data.

ecommerce.products.search or known product_id

Read-only tool; no approval request is created.

Use returned product_id, variant_id, and base_version_token for updates; do not overwrite unread fields.

ecommerce.products.create

write

Create a product draft with name, description, category, SKU, variants, price, tax class, initial stock, and pre-publish checks.

ecommerce.config.get, ecommerce.categories.list, ecommerce.products.search, ecommerce.locations.list

Write tool; usually creates a draft, with direct execution or approval depending on tenant policy.

Do not invent SKU, price, cost, stock, or tax class; create a pending-data draft when information is incomplete.

ecommerce.products.update

write

Update product content, media order, categories, SEO, variant display, attributes, or sales channel settings.

ecommerce.products.get, ecommerce.categories.list

Write tool; public content changes for published products may require approval.

Only update explicitly requested fields; do not also change price, stock, or publish state unless requested.

ecommerce.products.publish_state.update

write

Switch product draft, published, unpublished, scheduled, or sold-out hidden state.

ecommerce.products.get, ecommerce.inventory_levels.list

High-risk public change; approval or explicit confirmation is recommended.

Before publishing, confirm price, category, media, stock, and payment or fulfilment conditions; do not publish incomplete products.

ecommerce.product_media.create_upload_session

upload

Create a media upload session for product images, variant images, or downloadable attachments before binding them to products or variants.

ecommerce.products.get or ecommerce.products.create draft result

Upload preparation tool; creates a session only and does not change public products until a later write binds the media.

Accept only allowed formats and sizes; use media_get_upload_session_result as the source of truth, not local temporary paths.

ecommerce.variants.update

write

Update variants such as size, colour, packaging, SKU, barcode, weight, cost, sellable state, and ordering.

ecommerce.products.get

Write tool; SKU, cost, or published variant changes may require approval.

Do not delete variants with sales history; preserve order traceability when disabling or merging variants.

ecommerce.products.import_preview

preview

Preview bulk product import, checking field mapping, duplicate SKUs, categories, image links, prices, stock, and format errors.

ecommerce.config.get, ecommerce.categories.list, ecommerce.locations.list, ecommerce.products.search

Preview tool; does not write data.

Show errors, duplicates, and create/update counts before import; do not commit unpreviewed lists.

ecommerce.products.import_commit

write

Commit bulk product creates or updates after an import preview passes.

ecommerce.products.import_preview

High-risk batch write; approval is recommended.

Use the preview batch import_id; do not bypass duplicate SKU, category, or media validation.

ecommerce.price_rules.list

read

List standard prices, member prices, sale prices, coupon codes, bundles, free-shipping thresholds, and active windows.

ecommerce.config.get, ecommerce.sales_channels.list

Read-only tool; no approval request is created.

Pricing may depend on channel, member tier, and time; do not treat one listed price as the final transaction price.

ecommerce.price_rules.preview

preview

Preview how new prices, coupon codes, bundles, or free-shipping rules affect selected products, channels, and customer segments.

ecommerce.price_rules.list, ecommerce.products.get, ecommerce.sales_channels.list

Preview tool; does not write data.

Preview must show conflicting rules, margin risks, and active windows; do not treat preview output as published promotion.

ecommerce.price_rules.upsert

write

Create or update prices, coupon codes, member prices, bundle offers, free-shipping rules, or limited-time promotions.

ecommerce.price_rules.preview, ecommerce.price_rules.list

High-risk commercial write; approval or explicit confirmation is recommended.

Do not infer discount, cost, or active window; preserve rule reason and scope.

ecommerce.inventory_levels.list

read

Read sellable, reserved, damaged, and reorder quantities by product, variant, location, channel, or safety stock threshold.

ecommerce.products.get, ecommerce.locations.list

Read-only tool; no approval request is created.

Interpret stock with location and last update time; do not merge different locations into one sellable quantity.

ecommerce.inventory.adjust

write

Adjust inventory with a specific reason such as stock count variance, damage, return restock, receiving, or safety stock correction.

ecommerce.inventory_levels.list, ecommerce.locations.list

High-risk write affecting sellable quantity; approval or explicit confirmation is recommended.

Require location_id, variant_id, quantity delta, and reason; do not hide order-flow errors without audit records.

ecommerce.customers.search

read

Search ecommerce customers by name, phone, email, member tier, tag, recent order, or lifetime spend.

ecommerce.config.get

Read-only tool; no approval request is created.

Search results may contain personal data; return only task-relevant fields and respect tenant visibility.

ecommerce.customers.get

read

Read one customer with member profile, order summary, addresses, preferences, consent state, service notes, and version data.

ecommerce.customers.search or known customer_id

Read-only tool; no approval request is created.

Use returned customer_id and base_version_token for writes; do not infer consent state.

ecommerce.customers.note.create

write

Add service notes to customer or order records, such as complaints, special delivery needs, VIP preferences, or after-sales follow-up.

ecommerce.customers.get or ecommerce.orders.get

Write tool; usually direct execution, with sensitive notes governed by policy.

Record confirmed facts or clearly marked internal notes only; do not add discriminatory, unverified, or irrelevant content.

ecommerce.carts.list_abandoned

read

List recoverable abandoned carts with products, value, last activity time, customer, consent state, and follow-up state.

ecommerce.config.get, ecommerce.customers.search

Read-only tool; no approval request is created.

Do not include opted-out or unconsented customers in automated send lists; create internal follow-up suggestions only.

ecommerce.carts.recovery_task.create

write

Create internal recovery tasks or message drafts for abandoned carts so service or operations staff can review them.

ecommerce.carts.list_abandoned, ecommerce.owners.list, ecommerce.customers.get

Write tool; internal tasks are usually direct, while external sends require separate approval.

This tool must not directly send WhatsApp, SMS, or email; preserve human review and consent checks.

ecommerce.orders.list

read

List orders by order state, payment state, fulfilment state, date, customer, sales channel, location, or exception flag.

ecommerce.config.get, ecommerce.sales_channels.list

Read-only tool; no approval request is created.

Order lists must be filtered by user permissions and location visibility; avoid exposing irrelevant personal data.

ecommerce.orders.get

read

Read one order with line items, price breakdown, customer, recipient details, payment, fulfilment, refunds, notes, audit log, and version data.

ecommerce.orders.list or known order_id

Read-only tool; no approval request is created.

Use returned order_id and base_version_token for updates; do not overwrite payment, fulfilment, or refund records.

ecommerce.orders.create_draft

write

Create a manual order draft for phone, WhatsApp, B2B, or service-assisted orders while preserving price and stock checks.

ecommerce.customers.get, ecommerce.products.get, ecommerce.price_rules.list, ecommerce.inventory_levels.list

Write tool; draft creation is usually direct, while confirming an order or deducting stock follows policy.

Do not invent shipping address, discount, or payment state; keep incomplete orders as pending drafts.

ecommerce.orders.update_status

write

Update order state, such as confirmed, processing, pending information, completed, on hold, or awaiting payment check.

ecommerce.orders.get, ecommerce.config.get

Write tool; status changes affecting payment, stock, or service workflows may require approval.

Move only to allowed states; do not skip payment checks, stock deduction, or fulfilment prerequisites.

ecommerce.orders.cancel

write

Cancel an order with cancellation reason, stock restock handling, refund requirement, and service follow-up.

ecommerce.orders.get, ecommerce.payments.list, ecommerce.fulfilment.list

High-risk write; approval or explicit confirmation is recommended.

Paid, shipped, or partially fulfilled orders must not be cancelled without refund, return, or restock handling.

ecommerce.orders.note.create

write

Add internal order notes such as payment screenshot checks, packing requirements, customer changes, exception reasons, or manager instructions.

ecommerce.orders.get

Write tool; direct execution is usually allowed.

Notes must not change order state; refunds, cancellations, or fulfilment must use dedicated tools.

ecommerce.payments.list

read

Query payment records, transaction channels, payment state, reconciliation state, manual payment proof, and related orders.

ecommerce.orders.get or order-scope filters

Read-only tool; no approval request is created.

Payment state must come from gateway records or verified proof; do not mark paid from customer messages alone.

ecommerce.payments.reconcile_preview

preview

Preview reconciliation by comparing order amount, fees, refunds, payment gateway transactions, and manual payment proof.

ecommerce.payments.list, ecommerce.orders.get

Preview tool; does not write data.

Preview must show differences, unmatched transactions, and evidence sources; do not auto-change payment state.

ecommerce.payments.mark_manual_paid

write

Mark bank transfer, FPS, PayMe, or other manual payments as received after human verification, preserving evidence.

ecommerce.payments.reconcile_preview, ecommerce.orders.get

High-risk financial write; approval or explicit confirmation is recommended.

Preserve payment proof, verifier, and timestamp; the agent must not confirm unverified payments.

ecommerce.refunds.preview

preview

Preview full or partial refunds, calculating refundable amount, fulfilment state, return requirements, fees, and restock impact.

ecommerce.orders.get, ecommerce.payments.list, ecommerce.fulfilment.list

Preview tool; does not write data.

Do not treat preview output as completed refund; show non-refundable items and return conditions clearly.

ecommerce.refunds.request

write

Submit full or partial refund requests with reason, amount, payment transaction, return requirement, approval, and audit records.

ecommerce.refunds.preview

High-risk financial write; approval is recommended.

Use preview output and confirmed amount; never refund more than collected or bypass return policy.

ecommerce.fulfilment.list

read

List picking, pending shipment, shipped, delivered, fulfilment exceptions, pickup, and in-return fulfilment records.

ecommerce.orders.list or ecommerce.orders.get, ecommerce.fulfilment_profiles.list

Read-only tool; no approval request is created.

Fulfilment data must respect order and location visibility; do not expose unrelated addresses or phone numbers.

ecommerce.fulfilment.create_shipment

write

Create shipment records, picking lists, carrier, tracking number, delivery address, pickup point, or store pickup arrangement.

ecommerce.orders.get, ecommerce.inventory_levels.list, ecommerce.fulfilment_profiles.list

Write tool; approval may be required when notifying carriers or deducting stock.

Before shipment, confirm payment requirement, available stock, recipient details, and fulfilment method; do not ship cancelled orders.

ecommerce.fulfilment.update_tracking

write

Update tracking number, delivery status, signed time, fulfilment exception, or redelivery arrangement.

ecommerce.fulfilment.list, ecommerce.orders.get

Write tool; usually direct, with policy approval if customer notifications are triggered.

Do not mark undelivered orders as delivered; status must come from carrier data, proof of delivery, or human confirmation.

ecommerce.returns.create_request

write

Create return or exchange requests with reason, item condition, photo evidence, restock handling, and refund linkage.

ecommerce.orders.get, ecommerce.fulfilment.list, ecommerce.refunds.preview

High-risk after-sales write; approval or explicit confirmation is recommended.

Return is not the same as refund; separately record receiving, inspection, restock, and refund decision.

ecommerce.analytics.sales_summary

read

Read sales, order count, conversion, average order value, refunds, top products, and stock risk summary by date, channel, category, or product scope.

ecommerce.config.get, ecommerce.sales_channels.list

Read-only tool; no approval request is created.

Analytics must state date range, timezone, channel, and data latency; do not count unpaid orders as collected revenue.

ecommerce.action_request.status

status

Check approval, execution, rejection, or failure state for ecommerce writes, uploads, refunds, bulk imports, or high-risk operations.

Known action_request_id

Status lookup tool; does not create a new approval request.

Status reflects governance progress only; do not retry non-idempotent writes unless using the same idempotency_key or a clearly new request.