MCP Server

swell

io.usefulapi/swell
Commerce & Retail Public & reachable MCP 2026-07-28

What this MCP does

Manages Swell commerce stores by reading and updating products, orders, customers, carts, subscriptions, coupons, and related collections.

swell_create_product
Create a product
MUTATES LIVE STORE DATA. Create a new product in the store. Provide the common fields directly (name is required); anything else goes in `fields`, which is merged into the request body. Swell backend REST API: POST /products.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'sku': {'type': 'string', 'description': 'Stock-keeping unit.'}, 'name': {'type': 'string', 'description': 'Product name (required).'}, 'type': {'type': 'string', 'description': 'Product type, e.g. "standard", "subscription", "digital".'}, 'price': {'type': 'number', 'description': 'Product price.'}, 'active': {'type': 'boolean', 'description': 'Whether the product is active/visible.'}, 'fields': {'type': 'object', 'description': 'Any additional product fields, merged into the request body (e.g. attributes, options, images).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': {'type': 'string', 'description': 'Product description.'}, 'stock_level': {'type': 'number', 'description': 'Available stock quantity.'}}}
swell_get_customer
Get a customer
Fetch a single customer (Swell `accounts` model) by id. Supports `expand` and `fields`. Swell backend REST API: GET /accounts/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Customer (account) id.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "orders,subscriptions".'}, 'fields': {'type': 'string', 'description': 'Comma-separated fields to return.'}}}
swell_get_order
Get an order
Fetch a single order by its record id or its order number. Supports `expand` and `fields`. Swell backend REST API: GET /orders/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Order id or order number.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "items,account".'}, 'fields': {'type': 'string', 'description': 'Comma-separated fields to return.'}}}
swell_get_product
Get a product
Fetch a single product by its record id or its slug. Supports `expand` and `fields`. Swell backend REST API: GET /products/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Product id or slug.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}, 'fields': {'type': 'string', 'description': 'Comma-separated fields to return, e.g. "name,price".'}}}
swell_get_subscription
Get a subscription
Fetch a single subscription by id. Supports `expand`. Swell backend REST API: GET /subscriptions/{id}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Subscription id.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "account,product".'}}}
swell_list_carts
List carts
List shopping carts (including abandoned carts), with filtering, sorting, and expansion. Swell backend REST API: GET /carts.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}}}
swell_list_categories
List categories
List product categories, with filtering, sorting, search, and expansion. Swell backend REST API: GET /categories.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}, 'search': {'type': 'string', 'description': "Free-text search across the model's searchable fields."}}}
swell_list_coupons
List coupons
List discount coupons, with filtering and sorting. Swell backend REST API: GET /coupons.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}}}
swell_list_customers
List customers
List customers. In Swell, customers are the `accounts` model — this queries GET /accounts, with filtering, sorting, search, and expansion.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}, 'search': {'type': 'string', 'description': "Free-text search across the model's searchable fields."}}}
swell_list_invoices
List invoices
List invoices (typically subscription invoices), with filtering, sorting, and expansion. Swell backend REST API: GET /invoices.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}}}
swell_list_orders
List orders
List orders, with MongoDB-style filtering, sorting, search, and expansion. Swell backend REST API: GET /orders.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}, 'search': {'type': 'string', 'description': "Free-text search across the model's searchable fields."}}}
swell_list_products
List products
List products in the store, with MongoDB-style filtering, sorting, search, field selection, and expansion. Swell backend REST API: GET /products.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}, 'fields': {'type': 'string', 'description': 'Comma-separated fields to return, e.g. "name,price,active".'}, 'search': {'type': 'string', 'description': "Free-text search across the model's searchable fields."}}}
swell_list_subscriptions
List subscriptions
List subscriptions, with filtering, sorting, and expansion. Swell backend REST API: GET /subscriptions.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}}}
swell_query
Query any collection (read-only)
Power tool: read-only (GET only) access to ANY Swell model not covered by a dedicated tool — e.g. stock, promotions, giftcards, payments, shipments, settings. Supply the collection name plus the usual list params (limit, page, where, sort, expand, fields, search). Swell backend REST API: GET /{collection}.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['collection'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort expression, e.g. "date_created desc" or "name asc".'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max records to return (1–1000, Swell default 15).'}, 'where': {'type': 'string', 'description': 'MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}.'}, 'expand': {'type': 'string', 'description': 'Comma-separated related fields to expand, e.g. "variants,categories".'}, 'fields': {'type': 'string', 'description': 'Comma-separated fields to return, e.g. "name,price,active".'}, 'search': {'type': 'string', 'description': "Free-text search across the model's searchable fields."}, 'collection': {'type': 'string', 'description': 'Swell model/collection name, e.g. "products", "stock", "promotions", "giftcards".'}}}
swell_update_order
Update an order
MUTATES A LIVE ORDER. Partially update an existing order by id — e.g. change status, fulfillment, or notes. Provide the id plus a `fields` object of attributes to change, e.g. {"status":"complete"}. Swell backend REST API: PUT /orders/{id}.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'fields'], 'properties': {'id': {'type': 'string', 'description': 'Order id to update (required).'}, 'fields': {'type': 'object', 'description': 'Partial set of order attributes to update, e.g. {"status":"complete"} or fulfillment fields.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
swell_update_product
Update a product
MUTATES LIVE STORE DATA. Partially update an existing product by id. Provide the id plus a `fields` object of attributes to change. Swell backend REST API: PUT /products/{id}.
Destructive
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'fields'], 'properties': {'id': {'type': 'string', 'description': 'Product id to update (required).'}, 'fields': {'type': 'object', 'description': 'Partial set of product attributes to update, e.g. {"price":19.99,"active":false}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Changed
swell_update_order
Oct. 1, 2026, 2:42 a.m.
Changed
swell_update_product
Oct. 1, 2026, 2:42 a.m.
Changed
swell_create_product
Oct. 1, 2026, 2:42 a.m.
Changed
swell_query
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_coupons
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_invoices
Oct. 1, 2026, 2:42 a.m.
Changed
swell_get_subscription
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_subscriptions
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_carts
Oct. 1, 2026, 2:42 a.m.
Changed
swell_get_customer
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_customers
Oct. 1, 2026, 2:42 a.m.
Changed
swell_get_order
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_orders
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_categories
Oct. 1, 2026, 2:42 a.m.
Changed
swell_get_product
Oct. 1, 2026, 2:42 a.m.
Changed
swell_list_products
Oct. 1, 2026, 2:42 a.m.
Added
swell_update_order
Sept. 21, 2026, 2:44 a.m.
Added
swell_update_product
Sept. 21, 2026, 2:44 a.m.
Added
swell_create_product
Sept. 21, 2026, 2:44 a.m.
Added
swell_query
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_coupons
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_invoices
Sept. 21, 2026, 2:44 a.m.
Added
swell_get_subscription
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_subscriptions
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_carts
Sept. 21, 2026, 2:44 a.m.
Added
swell_get_customer
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_customers
Sept. 21, 2026, 2:44 a.m.
Added
swell_get_order
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_orders
Sept. 21, 2026, 2:44 a.m.
Added
swell_list_categories
Sept. 21, 2026, 2:44 a.m.