ecwid
Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"ecwid": {
"url": "https://ecwid.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://ecwid.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (12)
🟢ecwid_get_store_profile
Get the store's profile — general info (store id, name, currency), company details, and settings. Ecwid REST: GET /profile.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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?}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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#"
}Comunidad
Evidencia