Ecwid MCP server. Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"ecwid": {
"url": "https://ecwid.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
ecwid_get_store_profile | read | Get store profile Get the store's profile — general info (store id, name, currency), company details, and settings. Ecwid REST: GET /profile. |
ecwid_search_products | read | Search products Search / list the store's products with optional filters (keyword, SKU, category, stock, price range) and sorting. Returns a paged collection ({total, count, offset, limit, items}). Ecwid REST: GET /products. |
ecwid_get_product | read | Get product Get a single product by its id, including price, stock, options, images, and category assignments. Ecwid REST: GET /products/{productId}. |
ecwid_search_orders | read | Search orders Search / list the store's orders with optional filters (keyword, customer email/id, payment & fulfillment status, coupon, created-date range). Returns a paged collection. Ecwid REST: GET /orders. |
ecwid_get_order | read | Get order Get a single order by its order number, including line items, totals, customer, and payment/fulfillment status. Ecwid REST: GET /orders/{orderNumber}. |
ecwid_search_customers | read | Search customers Search / list the store's customers with optional filters (keyword, email, name, customer group). Returns a paged collection. Ecwid REST: GET /customers. |
ecwid_get_customer | read | Get customer Get a single customer by id, including contact details, addresses, and customer group. Ecwid REST: GET /customers/{customerId}. |
ecwid_list_categories | read | List categories List the store's product categories, optionally scoped to a parent category and including hidden ones. Returns a paged collection. Ecwid REST: GET /categories. |
ecwid_get_category | read | Get category Get a single category by id, including its name, parent, product ids, and images. Ecwid REST: GET /categories/{categoryId}. |
ecwid_list_discount_coupons | read | List discount coupons List the store's discount coupons with optional filters (coupon code, discount type, availability). Returns a paged collection. Ecwid REST: GET /discount_coupons. |
ecwid_adjust_product_inventory | write | Adjust product inventory ADJUSTS a product's in-stock quantity by a delta — this MODIFIES live store data. Positive increases stock, negative decreases it. Ecwid REST: PUT /products/{productId}/inventory with JSON body {quantityDelta}. Returns {updateCount, warning?}. |
ecwid_update_order | write | Update order UPDATES an order — its payment status, fulfillment status, and/or tracking number. This MODIFIES live store data and may trigger customer notifications. Ecwid REST: PUT /orders/{orderNumber}. Provide only the fields you want to change. Returns {updateCount}. |
ecwid_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
ecwid_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Ecwid tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.