MCPサーバー

kalicart-global

io.github.giuseppesocci-bot/kalicart-global
コマース・小売 公開・接続可能 MCP 2025-11-25

この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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'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}
出力スキーマ
{'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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'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}
出力スキーマ
{'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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'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}
出力スキーマ
{'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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'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}
出力スキーマ
{'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.
読み取り専用 外部アクセスあり 冪等
入力スキーマ
{'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}
出力スキーマ
{'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}
変更
list_merchants
2026年9月21日2:51
追加
list_categories
2026年9月17日12:42
追加
list_merchants
2026年9月17日12:42
追加
get_product
2026年9月17日12:42
追加
lookup_merchant
2026年9月17日12:42
追加
global_search
2026年9月17日12:42