swell
Manage your Swell headless-commerce store — products, orders, customers, and subscriptions.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"swell": {
"url": "https://swell.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://swell.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (16)
🟢swell_list_products(limit, page, where, sort, expand, ...)
List products in the store, with MongoDB-style filtering, sorting, search, field selection, and expansion. Swell backend REST API: GET /products.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
},
"fields": {
"description": "Comma-separated fields to return, e.g. \"name,price,active\".",
"type": "string"
},
"search": {
"description": "Free-text search across the model's searchable fields.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_get_product(id, expand, fields)
Fetch a single product by its record id or its slug. Supports `expand` and `fields`. Swell backend REST API: GET /products/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Product id or slug."
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
},
"fields": {
"description": "Comma-separated fields to return, e.g. \"name,price\".",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_categories(limit, page, where, sort, expand, ...)
List product categories, with filtering, sorting, search, and expansion. Swell backend REST API: GET /categories.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
},
"search": {
"description": "Free-text search across the model's searchable fields.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_orders(limit, page, where, sort, expand, ...)
List orders, with MongoDB-style filtering, sorting, search, and expansion. Swell backend REST API: GET /orders.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
},
"search": {
"description": "Free-text search across the model's searchable fields.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_get_order(id, expand, fields)
Fetch a single order by its record id or its order number. Supports `expand` and `fields`. Swell backend REST API: GET /orders/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id or order number."
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"items,account\".",
"type": "string"
},
"fields": {
"description": "Comma-separated fields to return.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_customers(limit, page, where, sort, expand, ...)
List customers. In Swell, customers are the `accounts` model — this queries GET /accounts, with filtering, sorting, search, and expansion.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
},
"search": {
"description": "Free-text search across the model's searchable fields.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_get_customer(id, expand, fields)
Fetch a single customer (Swell `accounts` model) by id. Supports `expand` and `fields`. Swell backend REST API: GET /accounts/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Customer (account) id."
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"orders,subscriptions\".",
"type": "string"
},
"fields": {
"description": "Comma-separated fields to return.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_carts(limit, page, where, sort, expand)
List shopping carts (including abandoned carts), with filtering, sorting, and expansion. Swell backend REST API: GET /carts.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_subscriptions(limit, page, where, sort, expand)
List subscriptions, with filtering, sorting, and expansion. Swell backend REST API: GET /subscriptions.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_get_subscription(id, expand)
Fetch a single subscription by id. Supports `expand`. Swell backend REST API: GET /subscriptions/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Subscription id."
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"account,product\".",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_invoices(limit, page, where, sort, expand)
List invoices (typically subscription invoices), with filtering, sorting, and expansion. Swell backend REST API: GET /invoices.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_list_coupons(limit, page, where, sort)
List discount coupons, with filtering and sorting. Swell backend REST API: GET /coupons.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢swell_query(collection, limit, page, where, sort, ...)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"collection": {
"type": "string",
"description": "Swell model/collection name, e.g. \"products\", \"stock\", \"promotions\", \"giftcards\"."
},
"limit": {
"description": "Max records to return (1–1000, Swell default 15).",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"where": {
"description": "MongoDB-style filter as a JSON object string, e.g. {\"active\":true,\"price\":{\"$gte\":10}}.",
"type": "string"
},
"sort": {
"description": "Sort expression, e.g. \"date_created desc\" or \"name asc\".",
"type": "string"
},
"expand": {
"description": "Comma-separated related fields to expand, e.g. \"variants,categories\".",
"type": "string"
},
"fields": {
"description": "Comma-separated fields to return, e.g. \"name,price,active\".",
"type": "string"
},
"search": {
"description": "Free-text search across the model's searchable fields.",
"type": "string"
}
},
"required": [
"collection"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴swell_create_product(name, price, active, sku, stock_level, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Product name (required)."
},
"price": {
"description": "Product price.",
"type": "number"
},
"active": {
"description": "Whether the product is active/visible.",
"type": "boolean"
},
"sku": {
"description": "Stock-keeping unit.",
"type": "string"
},
"stock_level": {
"description": "Available stock quantity.",
"type": "number"
},
"type": {
"description": "Product type, e.g. \"standard\", \"subscription\", \"digital\".",
"type": "string"
},
"description": {
"description": "Product description.",
"type": "string"
},
"fields": {
"description": "Any additional product fields, merged into the request body (e.g. attributes, options, images).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴swell_update_product(id, fields)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Product id to update (required)."
},
"fields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Partial set of product attributes to update, e.g. {\"price\":19.99,\"active\":false}."
}
},
"required": [
"id",
"fields"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴swell_update_order(id, fields)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order id to update (required)."
},
"fields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Partial set of order attributes to update, e.g. {\"status\":\"complete\"} or fulfillment fields."
}
},
"required": [
"id",
"fields"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis