Model Context Protocol (MCP) server for X-Cart 5.6 — lets AI agents manage the store over STDIO or authenticated HTTP.
X-Cart MCP has 16 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions are present but generic, most lack context on WHEN to use the tool or what happens on failure. Parameter descriptions are minimal (5-15 chars typical). No output schemas documented. Error handling is absent. Tool composition is reasonable (single responsibility), but missing idempotency hints and recovery guidance. Naming is clear (asap_categories_list, brand_update, order_search) but descriptions read like API docs, not LLM prompts.
Automatically map ASAP Network categories to X-Cart categories by matching names. Handles ASAP duplication: when the same subcategory appears under multiple ASAP root categories, all duplicates are mapped to the same X-Cart category. Returns proposed mappings for review, or applies them if confirmed.
List ASAP Network imported categories with mapping status. Filter by mapped/unmapped, parent, or search by name. ASAP has ~5000 categories with heavy duplication across root categories.
Map an ASAP Network category to an existing X-Cart category. If xcart_category_id is omitted, creates a new X-Cart category.
Remove mapping between an ASAP Network category and X-Cart category.
Get detailed brand info: name, description, meta, logo, product count, AAIA ID.
No output schemas documented. LLMs cannot predict response structure, forcing them to guess field names for downstream tool calls. E.g., asap_categories_list returns unmapped fields; order_search returns unknown structure.
Parameter descriptions are minimal (5-15 chars). E.g., 'Filter by mapped or unmapped status' lacks context on what 'mapped' means in the ASAP domain. Descriptions should explain WHAT, WHEN, and WHY.
No error handling or recovery guidance. Tools like order_update_status accept status codes (Q, A, PP, P, D, C, R) but provide no guidance on invalid values or what to do if an order is not found.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
List all brands with product counts, logo status, and enabled state. Search by name.
List products for a given brand with basic product info.
Enable or disable a brand.
Update brand description, meta title, meta description, meta keywords, or position.
Assign a product to a category
Create a new category. Optionally specify parent for subcategory.
Remove a product from a category
Update an existing category (name, description, enabled status, parent).
Add an admin note to an order
Search orders by date range, status, amount, customer email
Update order payment and/or shipping status
Destructive/reversible operations lack confirmation or dry-run support. asap_auto_map with apply=true modifies mappings without preview; asap_category_unmap deletes mappings irreversibly.
Tool descriptions lack idempotency hints. Agents retry on ambiguous failures, tools like category_assign_product should document whether repeated calls with same inputs are safe (idempotent) or risk duplicates.