Servidor MCP

kalicart-global

io.github.giuseppesocci-bot/kalicart-global
Comercio y retail Público y accesible MCP 2025-11-25

Qué hace este MCP

Searches and retrieves indexed product information across participating WooCommerce merchants.

get_product
Get indexed product details
Use this after global_search when the selected candidate needs indexed details that are not already on its search card. The p2209_id must come from global_search. This remains a snapshot, not live merchant verification; follow the returned handoff before confirming variant, price, or stock. Skip this call when the search card already answers the question.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['p2209_id'], 'properties': {'p2209_id': {'type': 'string', 'minLength': 1, 'description': 'KaliCart product ID (e.g. prod_duinshop-it_432395)'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['p2209_id'], 'properties': {'name': {'type': 'string'}, 'error': {'type': 'string'}, 'price': {}, 'scope': {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'handoff': {}, 'category': {'type': ['string', 'null']}, 'p2209_id': {'type': 'string'}, 'variants': {}, 'attributes': {}, 'provenance': {}, 'updated_at': {'anyOf': [{'anyOf': [{'type': 'string'}, {'type': 'string', 'format': 'date-time'}]}, {'type': 'null'}]}, 'merchant_id': {'type': 'string'}, 'product_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'availability': {}, 'storefront_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': True}
global_search
Search products across merchants
Use this when a user wants to find or compare product candidates across participating WooCommerce merchants. Search with q and/or a canonical category leaf; results contain snapshot price and stock, match evidence, provenance, and merchant Bridge handoff links. Do not use this as final price, variant, stock, checkout, or payment authority; verify the selected offer through its handoff.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Free-text product query. Each term must match as a whole word in the native merchant catalog text (name, short description, description) or in the canonical category path, so English category terms reach catalogs written in other languages: q="mattress" returns products under home.bedroom.mattress even when their text is Italian. There is no server-side translation of product text; for language-neutral retrieval by category use leaf and the canonical filters.'}, 'leaf': {'type': 'string', 'description': 'Canonical category node. Accepts a terminal leaf (e.g. beverages.alcohol.sparkling_prosecco) or any parent node (e.g. jewellery, home.bedroom): a parent matches the node and its whole subtree, so you can widen or narrow the search by moving up or down the tree. Use list_categories to browse the tree.'}, 'brand': {'type': 'string', 'description': 'Brand facet filter (normalized, e.g. "nike")'}, 'color': {'type': 'string', 'description': 'Bridge color family (e.g. "blue"). Common aliases are resolved to a family available in the active index. A family match does not guarantee an exact shade; read filter_semantics.color and verify the chosen product via handoff.bridge_product_url.'}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max offers to return (1-25, default 10). No pagination; raise to get more in one call'}, 'gender': {'enum': ['female', 'male', 'unisex'], 'type': 'string', 'description': 'Canonical gender facet. Filtering is discovery-tolerant: untagged and unisex products can remain candidates, so verify the chosen product. Allowed values: female, male, unisex.'}, 'in_stock': {'type': 'boolean', 'description': 'true filters product-level stock in the indexed snapshot. Does not verify a selected variant or a booking slot.'}, 'max_price': {'type': 'number', 'minimum': 0, 'description': 'Upper bound in major currency units (for example 1550 means EUR 1,550 for EUR offers). A matching range may include variants above this bound; verify the chosen variant. Per-offer currency, no FX conversion.'}, 'min_price': {'type': 'number', 'minimum': 0, 'description': 'Lower bound in major currency units (for example 50 means EUR 50 for EUR offers). Matches overlapping variant price ranges in each offer currency; no FX conversion. Verify the chosen variant.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'error': {'type': 'string'}, 'scope': {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string'}}, 'additionalProperties': True}, 'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['p2209_id', 'merchant_domain', 'name'], 'properties': {'name': {'type': 'string'}, 'price': {}, 'handoff': {}, 'p2209_id': {'type': 'string'}, 'provenance': {}, 'category_leaf': {'type': ['string', 'null']}, 'merchant_domain': {'type': 'string'}, 'availability_status': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'coverage': {'type': 'object', 'required': ['returned', 'limit', 'total_known', 'more_results_possible'], 'properties': {'limit': {'type': 'integer', 'exclusiveMinimum': 0}, 'returned': {'type': 'integer', 'minimum': 0}, 'total_known': {'type': 'boolean'}, 'more_results_possible': {'type': 'boolean'}}, 'additionalProperties': True}, 'federated': {'type': 'boolean'}, 'result_count': {'type': 'integer', 'minimum': 0}, 'guidance_code': {'type': 'string'}, 'applied_filters': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
list_categories
Browse canonical product categories
Use this to discover the canonical category paths currently represented in KaliCart Global before calling global_search with leaf. An optional parent returns that node and its full subtree. This lists category vocabulary and counts; it does not return products.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'parent': {'type': 'string', 'description': 'Optional canonical node to restrict results to that node and its subtree (for example apparel or home.bedroom)'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['categories', 'total', 'returned_count', 'truncated', 'filtered_by'], 'properties': {'total': {'type': 'integer', 'minimum': 0}, 'next_step': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['leaf', 'product_count'], 'properties': {'leaf': {'type': 'string'}, 'product_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'filtered_by': {'type': ['string', 'null']}, 'complete_via': {'type': 'string', 'format': 'uri'}, 'returned_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
list_merchants
List participating merchants
Use this to inspect which WooCommerce merchants currently participate in the searchable KaliCart Global catalog and how much catalog coverage each contributes. It returns stable merchant identifiers, domains, storefront URLs, product counts, and sync time. Do not use it to find products; use global_search instead.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max merchants to return (default 20, max 50), ordered by product count descending. No pagination'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['merchants', 'total', 'returned_count', 'truncated'], 'properties': {'total': {'type': 'integer', 'minimum': 0}, 'merchants': {'type': 'array', 'items': {'type': 'object', 'required': ['merchant_id', 'merchant_domain', 'platform', 'product_count', 'last_sync'], 'properties': {'platform': {'type': 'string'}, 'last_sync': {'anyOf': [{'anyOf': [{'type': 'string'}, {'type': 'string', 'format': 'date-time'}]}, {'type': 'null'}]}, 'merchant_id': {'type': 'string'}, 'product_count': {'type': 'integer', 'minimum': 0}, 'storefront_url': {'type': 'string', 'format': 'uri'}, 'merchant_domain': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'truncated': {'type': 'boolean'}, 'returned_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
lookup_merchant
Check a merchant for KaliCart Bridge
Use this when the user already knows a merchant domain and needs to check whether it publishes a KaliCart Bridge catalog, its latest observed access state, or its federation consent. This tool only reads the Global registry and never probes or modifies the merchant. Do not use it to discover products; use global_search instead.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'minLength': 4, 'description': 'Merchant domain, e.g. shop.example.com'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['registered', 'domain'], 'properties': {'probe': {'type': 'string'}, 'domain': {'type': 'string'}, 'consent': {}, 'registered': {'type': 'boolean'}, 'observed_at': {'anyOf': [{'anyOf': [{'type': 'string'}, {'type': 'string', 'format': 'date-time'}]}, {'type': 'null'}]}, 'bridge_access': {'type': 'string'}, 'bridge_version': {'type': ['string', 'null']}, 'bridge_detected': {'type': 'boolean'}, 'federation_status': {'type': 'string'}, 'merchant_discovery_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': True}
Modificado
list_merchants
21 de September de 2026 a las 02:51
Añadido
list_categories
17 de September de 2026 a las 12:42
Añadido
list_merchants
17 de September de 2026 a las 12:42
Añadido
get_product
17 de September de 2026 a las 12:42
Añadido
lookup_merchant
17 de September de 2026 a las 12:42
Añadido
global_search
17 de September de 2026 a las 12:42