ecwid
Server Details
Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Tool Definition Quality
Average 4/5 across 12 of 12 tools scored.
Each tool targets a distinct resource-action pair (e.g., get by ID vs. search/list, adjust inventory vs. update order). The prefix `ecwid_` plus verb-noun structure makes boundaries clear, and no two tools appear to perform the same task.
All tools follow the `ecwid_<verb>_<resource>` pattern with verbs like get, list, search, adjust, update. The naming is uniform and predictable, with no mixed conventions or vague verbs.
12 tools is within the ideal range for a domain-specific API covering products, categories, customers, orders, coupons, and store profile. Each tool has a clear purpose and the set is well-scoped without redundancy.
The set covers read operations well but lacks create/update/delete for most resources (products, categories, customers, coupons). Only inventory adjustment and order status update are provided as mutations, leaving significant gaps in lifecycle management that an agent would likely need.
Available Tools
12 toolsecwid_adjust_product_inventoryAdjust product inventoryADestructiveInspect
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?}.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product id to adjust. | |
| quantity_delta | Yes | Change in stock quantity — positive increases stock, negative decreases. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses that it modifies live store data, explains positive and negative delta behavior, names the REST endpoint, and specifies the response shape. This is useful behavioral context that annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences front-load the core action and destructive nature, then provide delta semantics, endpoint, and response. No redundant or filler content appears.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation tool with destructiveHint already set, the description covers the operation, parameter behavior, endpoint, and return shape. An agent has enough information to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters at 100%, including the meaning of quantity_delta. The description adds the REST body format and return value, but it does not substantially deepen parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('ADJUSTS'), the exact resource ('a product's in-stock quantity'), and the mechanism ('by a delta'). It is clearly distinct from sibling read tools and even from update_order.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys that this tool is for inventory adjustments via a delta, and the sibling context contains no similar inventory tool. It does not explicitly state when not to use it, but the intended context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_get_categoryGet categoryARead-onlyInspect
Get a single category by id, including its name, parent, product ids, and images. Ecwid REST: GET /categories/{categoryId}.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | Yes | Category id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe read operation, and the description's REST GET path is consistent with that. The description adds the returned fields but does not disclose error behavior or any rate-limit or authorization details; annotations carry the safety context so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loads the core action and scope, and includes the REST endpoint for additional precision. Every word contributes value and there is no redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource fetch with one required parameter, the description covers what is returned, the endpoint, and the read-only nature through annotations. No output schema exists, but the listed fields give sufficient expectation of the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter, category_id, is already described as 'Category id.' The description reinforces that the ID is the path parameter but adds no substantive semantic detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a single category by ID and lists what is included (name, parent, product ids, images). It distinguishes itself from list_categories by emphasizing 'single category by id' rather than a collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for fetching one category when its ID is known, which is clear enough context for selection. It does not explicitly mention alternatives like ecwid_list_categories, but the singular scope is self-evident and no misleading guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_get_customerGet customerARead-onlyInspect
Get a single customer by id, including contact details, addresses, and customer group. Ecwid REST: GET /customers/{customerId}.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Customer id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, so the description adds context by naming the REST GET endpoint and the returned data categories. It does not mention error behavior like 404 for a missing customer, but the simple read-only nature is sufficiently disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first defines action, scope, and returned content; the second maps the operation to the REST endpoint. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the description covers the core invocation details and highlights return contents. It is slightly less complete because it does not suggest a sibling for lookup without an id or describe not-found behavior, but those are secondary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: customer_id is described as 'Customer id.' The description adds no new semantic detail beyond connecting the id to the resource path, which matches the baseline for a well-documented single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), a specific resource ('a single customer'), and the lookup key ('by id'), while also listing the data returned (contact details, addresses, customer group). This clearly distinguishes it from sibling tools like ecwid_search_customers or ecwid_get_order.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by requiring an id, and the REST path reinforces that. However, it never explicitly tells the agent to use ecwid_search_customers when the id is unknown, so guidance about when not to use this tool is only implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_get_orderGet orderARead-onlyInspect
Get a single order by its order number, including line items, totals, customer, and payment/fulfillment status. Ecwid REST: GET /orders/{orderNumber}.
| Name | Required | Description | Default |
|---|---|---|---|
| order_number | Yes | Order number (the store-visible order id). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces a safe read operation via 'GET'. It adds useful context about the returned order contents but does not disclose other behavioral details like authorization requirements, rate limits, or error behavior. This is adequate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: it states the operation and resource first, then summarizes the response contents, then gives the corresponding REST endpoint. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool, the description is nearly complete: it specifies the lookup key, indicates the endpoint, and summarizes the returned data. It does not explicitly mention alternate tools for searching, but this is a minor gap given the low complexity and rich annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for the single parameter, including clarification that it is the store-visible order id. The description only restates 'order number' without adding new semantic detail, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('a single order by its order number'), and it lists what is included (line items, totals, customer, payment/fulfillment status). This clearly distinguishes it from sibling search/list tools such as ecwid_search_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'single order by its order number' implies the tool is appropriate when an exact order number is known, which provides context. However, it does not explicitly contrast with alternatives like ecwid_search_orders for finding orders by criteria, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_get_productGet productARead-onlyInspect
Get a single product by its id, including price, stock, options, images, and category assignments. Ecwid REST: GET /products/{productId}.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates the safe read-only nature. The description adds the REST method and response contents, but does not disclose additional behavioral details such as 404/not-found handling, authorization requirements, or rate limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the first states the action and result, the second gives the exact REST mapping. Every phrase contributes useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only get-by-ID tool with one documented parameter and no output schema, the description sufficiently tells the agent what it does, what data it returns, and how to identify the resource. No additional context seems necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description reinforces that product_id selects the single product to retrieve via the REST path. This is adequate but adds little beyond the schema's existing "Product id." documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: "Get a single product by its id." It also lists the key data included (price, stock, options, images, category assignments), making the purpose concrete and distinguishable from broader search/list siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Get a single product by its id" implies this tool is for direct lookup by known ID, while sibling search tools are for discovery. However, it does not explicitly say when not to use it or point to ecwid_search_products as the alternative for criteria-based lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_get_store_profileGet store profileARead-onlyInspect
Get the store's profile — general info (store id, name, currency), company details, and settings. Ecwid REST: GET /profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already establishes the read-only nature, and the description adds the REST endpoint 'GET /profile' and the categories of returned data. It does not add deeper behavioral details like authentication requirements or error cases, but for a simple zero-parameter getter, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler: it states what the tool does, summarizes the returned content, and gives the API endpoint. The most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, a read-only annotation, and no output schema, the description provides enough high-level information about what is returned (general info, company details, settings) to guide an agent. It stops short of a detailed return structure, but that is not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to explain. The absence of parameters is already fully visible in the input schema, and the description focuses on output rather than needing to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Get'), a clear resource ('store profile'), and specifies the content ('general info (store id, name, currency), company details, and settings'). This clearly distinguishes it from the sibling tools, which target products, orders, customers, categories, and coupons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is the tool to retrieve store-level profile and settings. It does not explicitly state when not to use it or name alternatives, but the resource is unique among siblings, so the usage intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_list_categoriesList categoriesARead-onlyInspect
List the store's product categories, optionally scoped to a parent category and including hidden ones. Returns a paged collection. Ecwid REST: GET /categories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results per page (1-100). | |
| offset | No | Pagination offset. | |
| parent | No | List only subcategories of this parent category id (0 = root). | |
| hidden_categories | No | Include hidden (disabled) categories when true. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, covering the safety profile. The description adds that results are a paged collection and that hidden categories can be included, plus the REST endpoint. This exceeds annotations, though it does not detail response item structure or default paging behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, focused sentences with no filler. Purpose is front-loaded, followed by pagination behavior and a REST reference. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, paging, and key options, and the annotations handle read-only safety. However, there is no output schema, and the description does not describe the shape of category objects in the paged response, leaving an agent that needs to parse results without complete information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter is documented. The description mentions parent scoping and hidden categories, aligning with parent and hidden_categories, but adds no new semantic information beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb 'List' and resource 'product categories', with optional scopes to parent and hidden categories. The mention of 'paged collection' implies multiple results, distinguishing it from sibling ecwid_get_category without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (listing categories) by its verb and mention of optional scoping, but it does not explicitly name alternatives or say when to prefer this over ecwid_get_category or search tools. No exclusions or routing guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_list_discount_couponsList discount couponsARead-onlyInspect
List the store's discount coupons with optional filters (coupon code, discount type, availability). Returns a paged collection. Ecwid REST: GET /discount_coupons.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results per page (1-100). | |
| offset | No | Pagination offset. | |
| coupon_code | No | Filter by exact coupon code. | |
| availability | No | Filter by availability, e.g. ACTIVE | PAUSED | EXPIRED | COMPLETE. | |
| discount_type | No | Filter by discount type, e.g. ABS | PERCENT | SHIPPING | ABS_AND_SHIPPING | PERCENT_AND_SHIPPING. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already signals safety, and the description adds that the tool returns a paged collection and maps to Ecwid's GET /discount_coupons endpoint. This gives the agent useful behavioral context beyond the annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences cover the action, resource, optional filters, pagination, and REST endpoint. There is no filler, and the core purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with zero required parameters, full schema documentation, and a read-only annotation, the description is nearly complete. It covers purpose, filters, pagination, and endpoint; only a more explicit note about default pagination or response shape would push it higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented with its own description. The tool description names three filters at a high level but adds no extra meaning over the schema, matching the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('list') and resource ('the store's discount coupons'), and names the optional filters and paged behavior. This clearly separates it from the sibling get/search/update tools, even without naming an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this tool to list discount coupons, optionally filtered by code, type, or availability. There are no explicit when-not-to-use instructions or named alternatives, but none of the siblings covers discount coupons, so the usage context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_search_customersSearch customersARead-onlyInspect
Search / list the store's customers with optional filters (keyword, email, name, customer group). Returns a paged collection. Ecwid REST: GET /customers.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by customer name. | |
| No | Filter by customer email. | ||
| limit | No | Max results per page (1-100). | |
| offset | No | Pagination offset. | |
| keyword | No | Full-text search term (name, email…). | |
| customer_group_id | No | Filter by customer group id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already communicates the safe, non-mutating nature of the call. The description adds meaningful behavioral context by stating that the result is a paged collection and by exposing the underlying Ecwid REST endpoint, which goes beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the action, filters, return shape, and underlying endpoint with no filler. The most important information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, zero-required-parameter listing tool with fully documented parameters, the description is largely complete: it names the resource, filters, pagination, and endpoint. It could be slightly stronger by noting the relationship to ecwid_get_customer, but nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter. The description's mention of keyword, email, name, and customer group mirrors the schema without adding new semantic detail, so it meets the baseline but does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Search / list') and resource ('the store's customers'), and names the optional filter dimensions. It does not explicitly contrast with ecwid_get_customer, so it falls short of the strongest sibling-differentiation level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes when to use the tool: when searching or listing customers with filters. However, it does not explicitly say when not to use it or point to alternatives such as ecwid_get_customer for a single customer, so usage guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_search_ordersSearch ordersARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Filter by customer email. | ||
| limit | No | Max results per page (1-100). | |
| offset | No | Pagination offset. | |
| keyword | No | Full-text search term (order number, customer name, email…). | |
| created_to | No | Filter to orders created on/before this date (YYYY-MM-DD or Unix timestamp). | |
| coupon_code | No | Filter by applied coupon code. | |
| customer_id | No | Filter by customer id. | |
| created_from | No | Filter to orders created on/after this date (YYYY-MM-DD or Unix timestamp). | |
| payment_status | No | Filter by payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE. | |
| fulfillment_status | No | Filter by fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes safety, and the description adds useful behavioral context by stating it 'Returns a paged collection' and identifies the underlying 'Ecwid REST: GET /orders.' This goes beyond the annotation by clarifying pagination behavior and the exact API method, though it does not discuss rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no waste: it states the purpose, the filter categories, the paged return, and the REST endpoint. Key scoping information is front-loaded before the optional endpoint reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 10 optional parameters and a schema that documents every parameter, the description provides enough high-level context: filters, paged collection, and endpoint. It lacks explicit response-structure details, but since no output schema exists and all invocation parameters are documented, the definition is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 10 optional parameters, so the schema carries the parameter documentation burden. The description only summarizes filter categories without adding new semantic details, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Search / list the store's orders' with optional filters. It conveys collection-level behavior via 'Returns a paged collection,' which implicitly separates it from single-order tools like ecwid_get_order, but it does not explicitly name or contrast any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as ecwid_get_order, ecwid_search_customers, or ecwid_update_order. The description states what the tool does but does not provide when-to-use conditions, exclusions, or prerequisite context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_search_productsSearch productsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | Filter by exact product SKU. | |
| limit | No | Max results per page (1-100). | |
| offset | No | Pagination offset. | |
| sortBy | No | Sort order: RELEVANCE | PRICE_ASC | PRICE_DESC | NAME_ASC | NAME_DESC | ADDED_TIME_ASC | ADDED_TIME_DESC | UPDATED_TIME_ASC | UPDATED_TIME_DESC. | |
| enabled | No | Filter to enabled (true) or disabled (false) products. | |
| inStock | No | Filter to in-stock (true) or out-of-stock (false) products. | |
| keyword | No | Full-text search term (matches title, description, SKU…). | |
| priceTo | No | Maximum price (inclusive). | |
| category | No | Filter to products in this category id (0 = root). | |
| priceFrom | No | Minimum price (inclusive). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only safety profile is covered. The description adds useful behavioral context by specifying the paged response shape ({total, count, offset, limit, items}) and the underlying REST endpoint GET /products. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it gives the operation and filters first, then the return shape, then the endpoint. Each sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter read-only tool with full schema coverage and no output schema, the description provides the needed paging and response context. A minor gap is that it doesn't state default behavior when no filters are supplied, but the schema and readOnly annotation cover most of what an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 10 parameters. The description mostly summarizes filters that are already in the schema (keyword, SKU, category, stock, price range) and adds no deeper meaning beyond that summary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair ('Search / list the store's products'), enumerates the available filters and sorting, and gives the paged return shape. This makes it easy to distinguish from siblings such as get_product or list_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies a search/list use case with optional filters, but it never explicitly says when to prefer it over get_product or other siblings, nor does it mention exclusions. Usage is inferable, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecwid_update_orderUpdate orderADestructiveInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| order_number | Yes | Order number to update. | |
| payment_status | No | New payment status: AWAITING_PAYMENT | PAID | CANCELLED | REFUNDED | PARTIALLY_REFUNDED | INCOMPLETE. | |
| tracking_number | No | Shipping tracking number to record on the order. | |
| fulfillment_status | No | New fulfillment status: AWAITING_PROCESSING | PROCESSING | SHIPPED | DELIVERED | WILL_NOT_DELIVER | RETURNED | READY_FOR_PICKUP | OUT_FOR_DELIVERY. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses that the tool MODIFIES live store data, may trigger customer notifications, and only updates supplied fields. It also specifies the PUT endpoint and the return value, giving the agent important behavioral context without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the action and target are stated first, followed by warnings and usage instruction, and finally the return format. Every sentence contributes necessary information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the effect on live data, side effects, partial-update behavior, the HTTP method, and the return value. With the input schema already documenting all parameters, nothing critically missing prevents an agent from invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful parameter semantics by explaining that omitted fields are not changed, which is crucial for correctly invoking an update operation. It also maps the three mutable fields named in the description to the schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool UPDATES an order and enumerates the specific fields it can modify: payment status, fulfillment status, and tracking number. This makes its purpose immediately distinguishable from sibling tools such as ecwid_get_order or ecwid_search_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this tool is for modifying existing orders and instructs to 'Provide only the fields you want to change,' which is useful practical guidance. It doesn't explicitly name alternatives or state when not to use it, but the operative verb and resource make the intended use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Manage products, orders, customers, inventory, and store configuration
Read shops, catalog blueprints, print providers, products and orders; create and publish products.
Read Foxy transactions, subscriptions, customers, carts and coupons; update customers and subs.
Read subscriptions, customers, charges, orders; skip charges, cancel or activate subscriptions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates with CS-Cart REST API to fetch products and orders, enabling product search and order retrieval for e-commerce management.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with e-commerce storefronts through a standardized API. Provides access to product catalogs, inventory management, and customer operations for online retail platforms.
- AlicenseNot gradedqualityFmaintenanceEnables comprehensive management of Tiendanube and Nuvemshop stores, supporting operations for products, orders, customers, and categories. It provides flexible integration through SSE, HTTP, and STDIO transport modes with full Docker support.6MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI to view and manage e-commerce data such as products, orders, and coupons, and perform actions like updating prices, stock, and generating sales reports.