ecwid
Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"ecwid": {
"url": "https://ecwid.usefulapi.io/mcp"
}
}
}遠端端點
https://ecwid.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(12)
🟢ecwid_get_store_profile
Get the store's profile — general info (store id, name, currency), company details, and settings. Ecwid REST: GET /profile.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_search_products(keyword, sku, category, inStock, enabled, ...)
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.
輸入結構描述
{
"type": "object",
"properties": {
"keyword": {
"description": "Full-text search term (matches title, description, SKU…).",
"type": "string"
},
"sku": {
"description": "Filter by exact product SKU.",
"type": "string"
},
"category": {
"description": "Filter to products in this category id (0 = root).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"inStock": {
"description": "Filter to in-stock (true) or out-of-stock (false) products.",
"type": "boolean"
},
"enabled": {
"description": "Filter to enabled (true) or disabled (false) products.",
"type": "boolean"
},
"priceFrom": {
"description": "Minimum price (inclusive).",
"type": "number"
},
"priceTo": {
"description": "Maximum price (inclusive).",
"type": "number"
},
"sortBy": {
"description": "Sort order: RELEVANCE | PRICE_ASC | PRICE_DESC | NAME_ASC | NAME_DESC | ADDED_TIME_ASC | ADDED_TIME_DESC | UPDATED_TIME_ASC | UPDATED_TIME_DESC.",
"type": "string",
"enum": [
"RELEVANCE",
"PRICE_ASC",
"PRICE_DESC",
"NAME_ASC",
"NAME_DESC",
"ADDED_TIME_ASC",
"ADDED_TIME_DESC",
"UPDATED_TIME_ASC",
"UPDATED_TIME_DESC"
]
},
"offset": {
"description": "Pagination offset.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Max results per page (1-100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_get_product(product_id)
Get a single product by its id, including price, stock, options, images, and category assignments. Ecwid REST: GET /products/{productId}.
輸入結構描述
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Product id."
}
},
"required": [
"product_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_search_orders(keyword, email, customer_id, payment_status, fulfillment_status, ...)
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.
輸入結構描述
{
"type": "object",
"properties": {
"keyword": {
"description": "Full-text search term (order number, customer name, email…).",
"type": "string"
},
"email": {
"description": "Filter by customer email.",
"type": "string"
},
"customer_id": {
"description": "Filter by customer id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"payment_status": {
"description": "Filter by payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE.",
"type": "string",
"enum": [
"AWAITING_PAYMENT",
"PAID",
"CANCELLED",
"REFUNDED",
"PARTIALLY_REFUNDED",
"INCOMPLETE"
]
},
"fulfillment_status": {
"description": "Filter by fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY.",
"type": "string",
"enum": [
"AWAITING_PROCESSING",
"PROCESSING",
"SHIPPED",
"DELIVERED",
"WILL_NOT_DELIVER",
"RETURNED",
"READY_FOR_PICKUP",
"OUT_FOR_DELIVERY"
]
},
"coupon_code": {
"description": "Filter by applied coupon code.",
"type": "string"
},
"created_from": {
"description": "Filter to orders created on/after this date (YYYY-MM-DD or Unix timestamp).",
"type": "string"
},
"created_to": {
"description": "Filter to orders created on/before this date (YYYY-MM-DD or Unix timestamp).",
"type": "string"
},
"offset": {
"description": "Pagination offset.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Max results per page (1-100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_get_order(order_number)
Get a single order by its order number, including line items, totals, customer, and payment/fulfillment status. Ecwid REST: GET /orders/{orderNumber}.
輸入結構描述
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "string"
}
],
"description": "Order number (the store-visible order id)."
}
},
"required": [
"order_number"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_search_customers(keyword, email, name, customer_group_id, offset, ...)
Search / list the store's customers with optional filters (keyword, email, name, customer group). Returns a paged collection. Ecwid REST: GET /customers.
輸入結構描述
{
"type": "object",
"properties": {
"keyword": {
"description": "Full-text search term (name, email…).",
"type": "string"
},
"email": {
"description": "Filter by customer email.",
"type": "string"
},
"name": {
"description": "Filter by customer name.",
"type": "string"
},
"customer_group_id": {
"description": "Filter by customer group id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Pagination offset.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Max results per page (1-100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_get_customer(customer_id)
Get a single customer by id, including contact details, addresses, and customer group. Ecwid REST: GET /customers/{customerId}.
輸入結構描述
{
"type": "object",
"properties": {
"customer_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Customer id."
}
},
"required": [
"customer_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_list_categories(parent, hidden_categories, offset, limit)
List the store's product categories, optionally scoped to a parent category and including hidden ones. Returns a paged collection. Ecwid REST: GET /categories.
輸入結構描述
{
"type": "object",
"properties": {
"parent": {
"description": "List only subcategories of this parent category id (0 = root).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hidden_categories": {
"description": "Include hidden (disabled) categories when true.",
"type": "boolean"
},
"offset": {
"description": "Pagination offset.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Max results per page (1-100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_get_category(category_id)
Get a single category by id, including its name, parent, product ids, and images. Ecwid REST: GET /categories/{categoryId}.
輸入結構描述
{
"type": "object",
"properties": {
"category_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Category id."
}
},
"required": [
"category_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ecwid_list_discount_coupons(coupon_code, discount_type, availability, offset, limit)
List the store's discount coupons with optional filters (coupon code, discount type, availability). Returns a paged collection. Ecwid REST: GET /discount_coupons.
輸入結構描述
{
"type": "object",
"properties": {
"coupon_code": {
"description": "Filter by exact coupon code.",
"type": "string"
},
"discount_type": {
"description": "Filter by discount type, e.g. ABS | PERCENT | SHIPPING | ABS_AND_SHIPPING | PERCENT_AND_SHIPPING.",
"type": "string"
},
"availability": {
"description": "Filter by availability, e.g. ACTIVE | PAUSED | EXPIRED | COMPLETE.",
"type": "string"
},
"offset": {
"description": "Pagination offset.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Max results per page (1-100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴ecwid_adjust_product_inventory(product_id, quantity_delta)
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?}.
輸入結構描述
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Product id to adjust."
},
"quantity_delta": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Change in stock quantity — positive increases stock, negative decreases."
}
},
"required": [
"product_id",
"quantity_delta"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴ecwid_update_order(order_number, payment_status, fulfillment_status, tracking_number)
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}.
輸入結構描述
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "string"
}
],
"description": "Order number to update."
},
"payment_status": {
"description": "New payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE.",
"type": "string",
"enum": [
"AWAITING_PAYMENT",
"PAID",
"CANCELLED",
"REFUNDED",
"PARTIALLY_REFUNDED",
"INCOMPLETE"
]
},
"fulfillment_status": {
"description": "New fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY.",
"type": "string",
"enum": [
"AWAITING_PROCESSING",
"PROCESSING",
"SHIPPED",
"DELIVERED",
"WILL_NOT_DELIVER",
"RETURNED",
"READY_FOR_PICKUP",
"OUT_FOR_DELIVERY"
]
},
"tracking_number": {
"description": "Shipping tracking number to record on the order.",
"type": "string"
}
},
"required": [
"order_number"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據