Manage your Swell headless-commerce store — products, orders, customers, and subscriptions.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Product name (required).
Stock-keeping unit.
Product type, e.g. "standard", "subscription", "digital".
Product price.
Whether the product is active/visible.
Any additional product fields, merged into the request body (e.g. attributes, options, images).
Product description.
Available stock quantity.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
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.
| Argument | Type | Description |
|---|---|---|
| sku | string | Stock-keeping unit. |
| name* | string | Product name (required). |
| type | string | Product type, e.g. "standard", "subscription", "digital". |
| price | number | Product price. |
| active | boolean | Whether the product is active/visible. |
| fields | object | Any additional product fields, merged into the request body (e.g. attributes, options, images). |
| description | string | Product description. |
| stock_level | number | Available stock quantity. |
{
"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."
}
}
}Fetch a single customer (Swell `accounts` model) by id. Supports `expand` and `fields`. Swell backend REST API: GET /accounts/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Customer (account) id. |
| expand | string | Comma-separated related fields to expand, e.g. "orders,subscriptions". |
| fields | string | Comma-separated fields to return. |
{
"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."
}
}
}Fetch a single order by its record id or its order number. Supports `expand` and `fields`. Swell backend REST API: GET /orders/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Order id or order number. |
| expand | string | Comma-separated related fields to expand, e.g. "items,account". |
| fields | string | Comma-separated fields to return. |
{
"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."
}
}
}Fetch a single product by its record id or its slug. Supports `expand` and `fields`. Swell backend REST API: GET /products/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Product id or slug. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
| fields | string | Comma-separated fields to return, e.g. "name,price". |
{
"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\"."
}
}
}Fetch a single subscription by id. Supports `expand`. Swell backend REST API: GET /subscriptions/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Subscription id. |
| expand | string | Comma-separated related fields to expand, e.g. "account,product". |
{
"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\"."
}
}
}List shopping carts (including abandoned carts), with filtering, sorting, and expansion. Swell backend REST API: GET /carts.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
{
"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\"."
}
}
}List product categories, with filtering, sorting, search, and expansion. Swell backend REST API: GET /categories.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
| search | string | Free-text search across the model's searchable fields. |
{
"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."
}
}
}List discount coupons, with filtering and sorting. Swell backend REST API: GET /coupons.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
{
"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}}."
}
}
}List customers. In Swell, customers are the `accounts` model — this queries GET /accounts, with filtering, sorting, search, and expansion.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
| search | string | Free-text search across the model's searchable fields. |
{
"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."
}
}
}List invoices (typically subscription invoices), with filtering, sorting, and expansion. Swell backend REST API: GET /invoices.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
{
"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\"."
}
}
}List orders, with MongoDB-style filtering, sorting, search, and expansion. Swell backend REST API: GET /orders.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
| search | string | Free-text search across the model's searchable fields. |
{
"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."
}
}
}List products in the store, with MongoDB-style filtering, sorting, search, field selection, and expansion. Swell backend REST API: GET /products.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
| fields | string | Comma-separated fields to return, e.g. "name,price,active". |
| search | string | Free-text search across the model's searchable fields. |
{
"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."
}
}
}List subscriptions, with filtering, sorting, and expansion. Swell backend REST API: GET /subscriptions.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
{
"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\"."
}
}
}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}.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default 1). |
| sort | string | Sort expression, e.g. "date_created desc" or "name asc". |
| limit | integer | Max records to return (1–1000, Swell default 15). |
| where | string | MongoDB-style filter as a JSON object string, e.g. {"active":true,"price":{"$gte":10}}. |
| expand | string | Comma-separated related fields to expand, e.g. "variants,categories". |
| fields | string | Comma-separated fields to return, e.g. "name,price,active". |
| search | string | Free-text search across the model's searchable fields. |
| collection* | string | Swell model/collection name, e.g. "products", "stock", "promotions", "giftcards". |
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}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Order id to update (required). |
| fields* | object | Partial set of order attributes to update, e.g. {"status":"complete"} or fulfillment fields. |
{
"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": {}
}
}
}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}.
| Argument | Type | Description |
|---|---|---|
| id* | string | Product id to update (required). |
| fields* | object | Partial set of product attributes to update, e.g. {"price":19.99,"active":false}. |
{
"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": {}
}
}
}{
"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\"."
}
}
}