The narrowing is deliberate: swell_update_product will write almost any field, and then swell_update_product_stock and swell_update_product_pricing restate the same job in a smaller shape, so a stock correction cannot quietly rewrite a description. swell_update_product_pricing is also the tool that argues back, refusing a salePrice above price. Order work stops at the status field — swell_update_order_status walks an order through pending, payment_pending, delivery_pending, complete and canceled with a note attached, but nothing here edits line items or issues a refund, so the refund conversation still happens in Swell.
A Swell storefront client covering products, orders and customers, with a read tool and a matching write tool for each.
- Product reads shaped to the question being asked: swell_list_products returns a table filtered by active, category and tags with limit, page and sort; swell_search_products ranks a text query across names, SKUs, descriptions and tags; swell_get_product returns a single product with its variants, categories, images, pricing, inventory, SEO fields and custom attributes.
- Stock as its own surface: swell_check_stock reports levels, status and availability messages for a product and can include variant-level stock, while swell_update_product_stock writes a level with a reason and reasonMessage and can scope the change to a variantId or an orderId.
- Pricing that validates before it writes: swell_update_product_pricing takes price, salePrice and currency and refuses a sale price higher than the regular price.
- Broad product edits: swell_update_product writes name, description, price, salePrice, stockLevel, stockStatus, categories, tags, sku, metaTitle, metaDescription and custom attributes, and returns a summary of the before and after values.
- Order handling end to end: swell_list_orders filters by status, customerId and a dateFrom to dateTo range; swell_get_order returns items, customer, billing and shipping addresses, payment details and order history; swell_update_order_status moves an order to pending, payment_pending, delivery_pending, complete or canceled with optional notes.
- Customer records: swell_list_customers returns name, email, order count, total value and registration date; swell_search_customers ranks a query across names, email addresses and phone numbers; swell_get_customer returns the profile with addresses, order history and analytics; swell_update_customer writes name, email, phone, notes, tags, groupId and the emailOptin and smsOptin marketing preferences.
A Swell store and the API credentials issued for it, supplied as SWELL_STORE_ID and SWELL_SECRET_KEY. DEBUG is also read from the environment.
One command plus a key — npx swell-mcp, then supply credentials
