Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
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.
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?}.
Product id to adjust.
Change in stock quantity — positive increases stock, negative decreases.
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.
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?}.
| Argument | Type | Description |
|---|---|---|
| product_id* | integer | Product id to adjust. |
| quantity_delta* | integer | Change in stock quantity — positive increases stock, negative decreases. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id",
"quantity_delta"
],
"properties": {
"product_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Product id to adjust."
},
"quantity_delta": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Change in stock quantity — positive increases stock, negative decreases."
}
}
}Get a single category by id, including its name, parent, product ids, and images. Ecwid REST: GET /categories/{categoryId}.
| Argument | Type | Description |
|---|---|---|
| category_id* | integer | Category id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"category_id"
],
"properties": {
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Category id."
}
}
}Get a single customer by id, including contact details, addresses, and customer group. Ecwid REST: GET /customers/{customerId}.
| Argument | Type | Description |
|---|---|---|
| customer_id* | integer | Customer id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Customer id."
}
}
}Get a single order by its order number, including line items, totals, customer, and payment/fulfillment status. Ecwid REST: GET /orders/{orderNumber}.
| Argument | Type | Description |
|---|---|---|
| order_number* | any | Order number (the store-visible order id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_number"
],
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
{
"type": "string"
}
],
"description": "Order number (the store-visible order id)."
}
}
}Get a single product by its id, including price, stock, options, images, and category assignments. Ecwid REST: GET /products/{productId}.
| Argument | Type | Description |
|---|---|---|
| product_id* | integer | Product id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Product id."
}
}
}Get the store's profile — general info (store id, name, currency), company details, and settings. Ecwid REST: GET /profile.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the store's product categories, optionally scoped to a parent category and including hidden ones. Returns a paged collection. Ecwid REST: GET /categories.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (1-100). |
| offset | integer | Pagination offset. |
| parent | integer | List only subcategories of this parent category id (0 = root). |
| hidden_categories | boolean | Include hidden (disabled) categories when true. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max results per page (1-100)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset."
},
"parent": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "List only subcategories of this parent category id (0 = root)."
},
"hidden_categories": {
"type": "boolean",
"description": "Include hidden (disabled) categories when true."
}
}
}List the store's discount coupons with optional filters (coupon code, discount type, availability). Returns a paged collection. Ecwid REST: GET /discount_coupons.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results per page (1-100). |
| offset | integer | Pagination offset. |
| coupon_code | string | Filter by exact coupon code. |
| availability | string | Filter by availability, e.g. ACTIVE | PAUSED | EXPIRED | COMPLETE. |
| discount_type | string | Filter by discount type, e.g. ABS | PERCENT | SHIPPING | ABS_AND_SHIPPING | PERCENT_AND_SHIPPING. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max results per page (1-100)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset."
},
"coupon_code": {
"type": "string",
"description": "Filter by exact coupon code."
},
"availability": {
"type": "string",
"description": "Filter by availability, e.g. ACTIVE | PAUSED | EXPIRED | COMPLETE."
},
"discount_type": {
"type": "string",
"description": "Filter by discount type, e.g. ABS | PERCENT | SHIPPING | ABS_AND_SHIPPING | PERCENT_AND_SHIPPING."
}
}
}Search / list the store's customers with optional filters (keyword, email, name, customer group). Returns a paged collection. Ecwid REST: GET /customers.
| Argument | Type | Description |
|---|---|---|
| name | string | Filter by customer name. |
| string | Filter by customer email. | |
| limit | integer | Max results per page (1-100). |
| offset | integer | Pagination offset. |
| keyword | string | Full-text search term (name, email…). |
| customer_group_id | integer | Filter by customer group id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"description": "Filter by customer name."
},
"email": {
"type": "string",
"description": "Filter by customer email."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max results per page (1-100)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset."
},
"keyword": {
"type": "string",
"description": "Full-text search term (name, email…)."
},
"customer_group_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by customer group id."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| string | Filter by customer email. | |
| limit | integer | Max results per page (1-100). |
| offset | integer | Pagination offset. |
| keyword | string | Full-text search term (order number, customer name, email…). |
| created_to | string | Filter to orders created on/before this date (YYYY-MM-DD or Unix timestamp). |
| coupon_code | string | Filter by applied coupon code. |
| customer_id | integer | Filter by customer id. |
| created_from | string | Filter to orders created on/after this date (YYYY-MM-DD or Unix timestamp). |
| payment_status | string | Filter by payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE. |
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.
| Argument | Type | Description |
|---|---|---|
| sku | string | Filter by exact product SKU. |
| limit | integer | Max results per page (1-100). |
| offset | integer | Pagination offset. |
| sortBy | string | Sort order: RELEVANCE | PRICE_ASC | PRICE_DESC | NAME_ASC | NAME_DESC | ADDED_TIME_ASC | ADDED_TIME_DESC | UPDATED_TIME_ASC | UPDATED_TIME_DESC. |
| enabled | boolean | Filter to enabled (true) or disabled (false) products. |
| inStock | boolean | Filter to in-stock (true) or out-of-stock (false) products. |
| keyword | string | Full-text search term (matches title, description, SKU…). |
| priceTo | number | Maximum price (inclusive). |
| category | integer |
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}.
| Argument | Type | Description |
|---|---|---|
| order_number* | any | Order number to update. |
| payment_status | string | New payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE. |
| tracking_number | string | Shipping tracking number to record on the order. |
| fulfillment_status | string | New fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_number"
],
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
{
"type": "string"
}
],
"description": "Order number to update."
},
"payment_status": {
"enum": [
"AWAITING_PAYMENT",
"PAID",
"CANCELLED",
"REFUNDED",
"PARTIALLY_REFUNDED",
"INCOMPLETE"
],
"type": "string",
"description": "New payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE."
},
"tracking_number": {
"type": "string",
"description": "Shipping tracking number to record on the order."
},
"fulfillment_status": {
"enum": [
"AWAITING_PROCESSING",
"PROCESSING",
"SHIPPED",
"DELIVERED",
"WILL_NOT_DELIVER",
"RETURNED",
"READY_FOR_PICKUP",
"OUT_FOR_DELIVERY"
],
"type": "string",
"description": "New fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY."
}
}
}| fulfillment_status | string | Filter by fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"type": "string",
"description": "Filter by customer email."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max results per page (1-100)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset."
},
"keyword": {
"type": "string",
"description": "Full-text search term (order number, customer name, email…)."
},
"created_to": {
"type": "string",
"description": "Filter to orders created on/before this date (YYYY-MM-DD or Unix timestamp)."
},
"coupon_code": {
"type": "string",
"description": "Filter by applied coupon code."
},
"customer_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by customer id."
},
"created_from": {
"type": "string",
"description": "Filter to orders created on/after this date (YYYY-MM-DD or Unix timestamp)."
},
"payment_status": {
"enum": [
"AWAITING_PAYMENT",
"PAID",
"CANCELLED",
"REFUNDED",
"PARTIALLY_REFUNDED",
"INCOMPLETE"
],
"type": "string",
"description": "Filter by payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE."
},
"fulfillment_status": {
"enum": [
"AWAITING_PROCESSING",
"PROCESSING",
"SHIPPED",
"DELIVERED",
"WILL_NOT_DELIVER",
"RETURNED",
"READY_FOR_PICKUP",
"OUT_FOR_DELIVERY"
],
"type": "string",
"description": "Filter by fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY."
}
}
}| Filter to products in this category id (0 = root). |
| priceFrom | number | Minimum price (inclusive). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sku": {
"type": "string",
"description": "Filter by exact product SKU."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max results per page (1-100)."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset."
},
"sortBy": {
"enum": [
"RELEVANCE",
"PRICE_ASC",
"PRICE_DESC",
"NAME_ASC",
"NAME_DESC",
"ADDED_TIME_ASC",
"ADDED_TIME_DESC",
"UPDATED_TIME_ASC",
"UPDATED_TIME_DESC"
],
"type": "string",
"description": "Sort order: RELEVANCE | PRICE_ASC | PRICE_DESC | NAME_ASC | NAME_DESC | ADDED_TIME_ASC | ADDED_TIME_DESC | UPDATED_TIME_ASC | UPDATED_TIME_DESC."
},
"enabled": {
"type": "boolean",
"description": "Filter to enabled (true) or disabled (false) products."
},
"inStock": {
"type": "boolean",
"description": "Filter to in-stock (true) or out-of-stock (false) products."
},
"keyword": {
"type": "string",
"description": "Full-text search term (matches title, description, SKU…)."
},
"priceTo": {
"type": "number",
"description": "Maximum price (inclusive)."
},
"category": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter to products in this category id (0 = root)."
},
"priceFrom": {
"type": "number",
"description": "Minimum price (inclusive)."
}
}
}