Shop · AI
AI agent tools
The shop_* tools AI agents and the admin assistant can use, and the capability each one needs.
Shop offers 71 staff functions as shop_* tools to MCP clients and the admin assistant. Each tool runs the existing admin route with the agent’s session, so every check in that route still applies; the capability only decides who sees the tool. See Bring your own AI to connect an agent.
catalog
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_products_list · read | GET catalog | List products with their price, SKU, stock and type. The product pages themselves are content entries of type product (use the content tools for title and text). | products:read |
shop_product_get · read | GET catalog/:contentId | One product's commerce data: price, SKU, stock, variations, attributes, images, and subscription plan. | products:read |
shop_product_save | PUT catalog/:contentId | Save a product's commerce data, including its subscription plan and the platform limits the plan gives. The product entry must exist first (content type product). Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | products:update |
products
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_products_bulk_edit | POST products/bulk | Change price, sale price, stock, visibility or tax class of many products at once. | products:update |
attributes
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_attributes_list · read | GET attributes | Global product attributes (size, colour) and their values. | products:read |
shop_attributes_create | POST attributes | Create a global product attribute. | products:update |
shop_attributes_update | PUT attributes/:id | Rename an attribute or change its values. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | products:update |
shop_attributes_delete · destructive | DELETE attributes/:id | Delete a global product attribute. | products:delete |
categories
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_categories_list · read | GET categories | Product categories. | products:read |
shop_categories_create | POST categories | Create a product category. | products:update |
shop_categories_update | PUT categories/:id | Rename, re-slug or move a product category. | products:update |
shop_categories_delete · destructive | DELETE categories/:id | Delete a product category. | products:delete |
tags
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_tags_list · read | GET tags | Product tags. | products:read |
shop_tags_create | POST tags | Create a product tag. | products:update |
shop_tags_update | PUT tags/:id | Rename or re-slug a product tag. | products:update |
shop_tags_delete · destructive | DELETE tags/:id | Delete a product tag. | products:delete |
inventory
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_inventory_list · read | GET inventory | Stock levels per product and variation, and the inventory settings. | inventory:read |
shop_inventory_settings_update | PUT inventory/settings | Inventory settings: tracking, backorders, low-stock threshold. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shop:settings |
orders
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_orders_list · read | GET orders | List orders, oldest first, with status and total (integer minor units). | orders:read |
shop_order_get · read | GET orders/:id | One order: lines, addresses, payments, shipments, notes, and the statuses it may move to. | orders:read |
shop_order_set_status | POST orders/:id/status | Move an order to another status, optionally with a note and a customer email. | orders:update |
shop_order_fulfill | POST orders/:id/fulfillments | Record a shipment for some or all lines, with an optional tracking number. | fulfillments:manage |
shop_order_create_label | POST orders/:id/shipments/label | Buy a carrier label for an order and record the shipment. Costs money with the carrier. | fulfillments:manage |
shop_shipment_track | POST orders/:id/shipments/:shipmentId/track | Check a shipment's tracking with the carrier now. | orders:update |
shop_order_documents · read | GET orders/:id/documents | Invoices and other documents of an order. | orders:read |
shop_order_create_invoice | POST orders/:id/invoice | Create the invoice for an order. | orders:update |
shop_order_send_document | POST orders/:id/documents/:documentId/send | Email an order document to the customer. | orders:update |
payments
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_payments_list · read | GET payments | Payment methods and their state, and recent payment attempts. | payments:read |
shop_payment_capture | POST payments/attempts/:id/capture | Capture an authorised payment, optionally a lower amount. | payments:capture |
shop_payment_void · destructive | POST payments/attempts/:id/void | Cancel an authorised payment that was not captured. | payments:capture |
shop_payment_refund · destructive | POST payments/attempts/:id/refund | Refund a payment, in full or in part. Sends money back to the customer. | payments:refund |
refunds
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_refunds_list · read | GET refunds | Refunds made, with amounts and reasons. | payments:read |
customers
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_customers_list · read | GET customers | List customers. | customers:read |
shop_customers_create | POST customers | Create a customer. | customers:manage |
shop_customers_update | PUT customers/:id | Update a customer's details and addresses. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | customers:manage |
discounts
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_discounts_list · read | GET discounts | Coupons and automatic discounts, and the discount settings. | discounts:read |
shop_discounts_create | POST discounts | Create a coupon or automatic discount. | discounts:manage |
shop_discounts_update | PUT discounts/:id | Change a discount. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | discounts:manage |
shop_discounts_delete · destructive | DELETE discounts/:id | Delete a discount. | discounts:manage |
shop_discounts_settings_update | PUT discounts/settings | Discount settings, such as whether coupons combine. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | discounts:manage |
tax
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_tax_get · read | GET tax | Tax settings, classes and rates. | tax:read |
shop_tax_settings_update | PUT tax/settings | Tax settings: prices with or without tax, which address is taxed, rounding. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | tax:manage |
shop_tax_classes_create | POST tax/classes | Create a tax class, such as reduced. | tax:manage |
shop_tax_classes_update | PUT tax/classes/:id | Rename a tax class. | tax:manage |
shop_tax_classes_delete · destructive | DELETE tax/classes/:id | Delete a tax class. | tax:manage |
shop_tax_rates_create | POST tax/rates | Add a tax rate for a country and class. | tax:manage |
shop_tax_rates_delete · destructive | DELETE tax/rates/:id | Delete a tax rate. | tax:manage |
shipping
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_shipping_get · read | GET shipping | Shipping zones, methods, origin address and settings. Carrier credentials are never included. | shipping:read |
shop_shipping_origin_update | PUT shipping/origin | The address parcels ship from. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shipping:manage |
shop_shipping_tax_update | PUT shipping/tax | How shipping is taxed. | shipping:manage |
shop_shipping_tracking_update | PUT shipping/tracking | Tracking settings, such as emailing the customer on delivery. | shipping:manage |
shop_shipping_zones_create | POST shipping/zones | Create a shipping zone for a set of countries. | shipping:manage |
shop_shipping_zones_update | PUT shipping/zones/:id | Change a shipping zone. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shipping:manage |
shop_shipping_zones_delete · destructive | DELETE shipping/zones/:id | Delete a shipping zone and its methods. | shipping:manage |
shop_shipping_methods_create | POST shipping/zones/:id/methods | Add a shipping method (flat rate, free, pickup, carrier) to a zone. | shipping:manage |
shop_shipping_methods_update | PUT shipping/methods/:id | Change a shipping method. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shipping:manage |
shop_shipping_methods_delete · destructive | DELETE shipping/methods/:id | Delete a shipping method. | shipping:manage |
subscriptions
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_subscriptions_list · read | GET subscriptions | List subscriptions with status, customer and next payment. | subscriptions:read |
shop_subscription_get · read | GET subscriptions/:id | One subscription: plan, payments, events, workspace and the limits it applies. | subscriptions:read |
shop_subscription_settings_get · read | GET subscriptions/settings | Subscription settings, including the default plan and membership roles. | subscriptions:read |
shop_subscription_plan_options · read | GET subscriptions/plan-options | What a plan can set: the platform limit meters, membership roles and workspace options. | subscriptions:read |
reports
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_reports_get · read | GET reports | Sales report for a period: revenue, orders, products. | shop:reports |
shop_reports_tax · read | GET reports/tax | Tax collected per rate for a period. | shop:reports |
shop_reports_inventory · read | GET reports/inventory | Stock value, low stock and products that did not sell. | shop:reports |
emails
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_emails_list · read | GET emails | Shop emails: templates and recent sends. | shop:settings |
shop_emails_update | PUT emails/:key | Change a shop email template or turn it off. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shop:settings |
shop_emails_resend | POST emails/:id/resend | Send a shop email again. | orders:update |
storefront
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_storefront_settings_get · read | GET storefront/settings | Storefront settings: catalog layout, products per page, sorting. | products:read |
shop_storefront_settings_update | PUT storefront/settings | Storefront settings. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shop:settings |
invoices
| Tool | Route | What it does | Capability |
|---|---|---|---|
shop_invoice_settings_get · read | GET invoices/settings | Invoice settings: numbering, company details, footer. | orders:read |
shop_invoice_settings_update | PUT invoices/settings | Invoice settings. Send the whole object: read it first with the matching get or list tool, change what you need, and send it back. Fields left out are reset. | shop:settings |