Swell MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Manage your Swell headless-commerce store — products, orders, customers, and subscriptions.
16 tools: 3 can delete or cancel things and 13 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads13Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http swell https://swell.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Deletes or cancels 3Claude Code: deny
swell_create_productMUTATES LIVE STORE DATA.No findings
Why it is in this group
- The name "swell_create_product" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote 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.
Annotations the server declares
- title: Create a product
- destructiveHint: true
swell_update_orderMUTATES A LIVE ORDER.No findings
Why it is in this group
- The name "swell_update_order" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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}.
Annotations the server declares
- title: Update an order
- destructiveHint: true
swell_update_productMUTATES LIVE STORE DATA.No findings
Why it is in this group
- The name "swell_update_product" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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}.
Annotations the server declares
- title: Update a product
- destructiveHint: true
Only reads 13Claude Code: allow
swell_get_customerFetch a single customer (Swell `accounts` model) by id.No findings
Why it is in this group
- The name "swell_get_customer" says "get": a word for reading.
Description, as the server wrote it Fetch a single customer (Swell `accounts` model) by id. Supports `expand` and `fields`. Swell backend REST API: GET /accounts/{id}.
Annotations the server declares
- title: Get a customer
- readOnlyHint: true
swell_get_orderFetch a single order by its record id or its order number.No findings
Why it is in this group
- The name "swell_get_order" says "get": a word for reading.
Description, as the server wrote it Fetch a single order by its record id or its order number. Supports `expand` and `fields`. Swell backend REST API: GET /orders/{id}.
Annotations the server declares
- title: Get an order
- readOnlyHint: true
swell_get_productFetch a single product by its record id or its slug.No findings
Why it is in this group
- The name "swell_get_product" says "get": a word for reading.
Description, as the server wrote it Fetch a single product by its record id or its slug. Supports `expand` and `fields`. Swell backend REST API: GET /products/{id}.
Annotations the server declares
- title: Get a product
- readOnlyHint: true
swell_get_subscriptionFetch a single subscription by id.No findings
Why it is in this group
- The name "swell_get_subscription" says "get": a word for reading.
Description, as the server wrote it Fetch a single subscription by id. Supports `expand`. Swell backend REST API: GET /subscriptions/{id}.
Annotations the server declares
- title: Get a subscription
- readOnlyHint: true
swell_list_cartsList shopping carts (including abandoned carts), with filtering, sorting, and expansion.No findings
Why it is in this group
- The name "swell_list_carts" says "list": a word for reading.
Description, as the server wrote it List shopping carts (including abandoned carts), with filtering, sorting, and expansion. Swell backend REST API: GET /carts.
Annotations the server declares
- title: List carts
- readOnlyHint: true
swell_list_categoriesList product categories, with filtering, sorting, search, and expansion.No findings
Why it is in this group
- The name "swell_list_categories" says "list": a word for reading.
Description, as the server wrote it List product categories, with filtering, sorting, search, and expansion. Swell backend REST API: GET /categories.
Annotations the server declares
- title: List categories
- readOnlyHint: true
swell_list_couponsList discount coupons, with filtering and sorting.No findings
Why it is in this group
- The name "swell_list_coupons" says "list": a word for reading.
Description, as the server wrote it List discount coupons, with filtering and sorting. Swell backend REST API: GET /coupons.
Annotations the server declares
- title: List coupons
- readOnlyHint: true
swell_list_customersList customers.No findings
Why it is in this group
- The name "swell_list_customers" says "list": a word for reading.
Description, as the server wrote it List customers. In Swell, customers are the `accounts` model — this queries GET /accounts, with filtering, sorting, search, and expansion.
Annotations the server declares
- title: List customers
- readOnlyHint: true
swell_list_invoicesList invoices (typically subscription invoices), with filtering, sorting, and expansion.No findings
Why it is in this group
- The name "swell_list_invoices" says "list": a word for reading.
Description, as the server wrote it List invoices (typically subscription invoices), with filtering, sorting, and expansion. Swell backend REST API: GET /invoices.
Annotations the server declares
- title: List invoices
- readOnlyHint: true
swell_list_ordersList orders, with MongoDB-style filtering, sorting, search, and expansion.No findings
Why it is in this group
- The name "swell_list_orders" says "list": a word for reading.
Description, as the server wrote it List orders, with MongoDB-style filtering, sorting, search, and expansion. Swell backend REST API: GET /orders.
Annotations the server declares
- title: List orders
- readOnlyHint: true
swell_list_productsList products in the store, with MongoDB-style filtering, sorting, search, field selection, and expansion.No findings
Why it is in this group
- The name "swell_list_products" says "list": a word for reading.
Description, as the server wrote it List products in the store, with MongoDB-style filtering, sorting, search, field selection, and expansion. Swell backend REST API: GET /products.
Annotations the server declares
- title: List products
- readOnlyHint: true
swell_list_subscriptionsList subscriptions, with filtering, sorting, and expansion.No findings
Why it is in this group
- The name "swell_list_subscriptions" says "list": a word for reading.
Description, as the server wrote it List subscriptions, with filtering, sorting, and expansion. Swell backend REST API: GET /subscriptions.
Annotations the server declares
- title: List subscriptions
- readOnlyHint: true
swell_queryPower tool: read-only (GET only) access to ANY Swell model not covered by a dedicated tool — e.g.No findings
Why it is in this group
- The name "swell_query" says "query": a word for reading.
Description, as the server wrote it 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}.
Annotations the server declares
- title: Query any collection (read-only)
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http swell https://swell.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__swell__swell_list_products",
"mcp__swell__swell_get_product",
"mcp__swell__swell_list_categories",
"mcp__swell__swell_list_orders",
"mcp__swell__swell_get_order",
"mcp__swell__swell_list_customers",
"mcp__swell__swell_get_customer",
"mcp__swell__swell_list_carts",
"mcp__swell__swell_list_subscriptions",
"mcp__swell__swell_get_subscription",
"mcp__swell__swell_list_invoices",
"mcp__swell__swell_list_coupons",
"mcp__swell__swell_query"
],
"ask": [],
"deny": [
"mcp__swell__swell_create_product",
"mcp__swell__swell_update_product",
"mcp__swell__swell_update_order"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as swell. Review it before you use it.