Kalicart Global

io.github.giuseppesocci-bot由 GitHub 账号 giuseppesocci-bot 发布v1.1.0更新于 Oct 24, 2026

Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.

已验证Streamable HTTP可网页运行网页搜索与抓取商业与电商

概览

AI 生成的概览

一个无需密钥、只读的远程 MCP 服务器,让助手跨多家独立 WooCommerce 商家搜索和比较商品报价,并核对价格与库存。

可以做什么
按自由文本、类目叶节点以及品牌、颜色、价格区间、库存等分面搜索联邦目录,并列出参与商家和带商品数的规范类目以了解覆盖范围。按标识获取索引中的商品详情,包括价格、可售状态、属性和变体。对照商家声明数据校验单个报价或最多 40 行的购物篮,检查可售性、数量和价格是否未变,并依据声明的运费选项估算到手成本。获取商品行与商家签名目录快照一致的密码学证明,并查询某个商家域名是否发布兼容目录。
适用场景
适合助手需要在不抓取店铺页面的情况下跨多家独立商店查找或比较真实商品,或在把购物者交给商家自有结账前核对价格、库存和运费。
运行要求
远程 Streamable HTTP 端点;未声明需要 API 密钥、账户或注册。需要能访问该托管服务的网络。
安装前请注意
结果是索引快照而非实时读取,价格和库存应在视为最终值前通过商家交接重新核实。服务器只读,不进行交易也不收款;购买在商家店铺完成。自由文本搜索匹配商家目录原文且不做翻译,价格筛选按各报价自身货币进行,不做汇率换算。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Kalicart Global,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.giuseppesocci-bot%2Fkalicart-global/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "kalicart-global": {
      "type": "http",
      "url": "https://global.kalicart.com/mcp-public"
    }
  }
}

README

KaliCart Global — Federated Commerce Search for AI Agents

One query across many independent WooCommerce stores — real products, merchant-authoritative prices, indexed snapshots with a documented live-verification path back to the merchant. Keyless, read-only, no registration.

KaliCart Global is a public Model Context Protocol server that lets an AI agent search real product offers across independent merchants that opted in through the ARC (Agent-Readable Catalog) protocol. Instead of scraping a storefront and guessing at price and stock, an agent queries a structured, federated index and gets data it can trust — then hands the shopper off to the merchant's own store to complete the purchase. The server itself never transacts.

Why it exists

Crawling a product page works when a machine only needs to read it. It breaks the moment an agent needs to act on a real price and real stock — the price may be stale, the stock may be phantom, the variant may not exist. KaliCart's approach is to make a catalog computable rather than merely crawlable: queryable and authoritative by design, served as an indexed snapshot with a documented handoff back to the merchant's own Bridge for live verification before checkout.

Reading a catalog this way is also far cheaper. A companion case study on the Bridge layer measured a live 626-product catalog served to an agent in 8,000 tokens instead of 196,595 — a ~24× reduction, small enough to fit a listing inside a model's context window instead of overflowing it (read it). Global brings the same structured, read-cheap surface to many merchants at once.

Connect

Add it to your MCP client as a remote (Streamable HTTP) server — no API key or account required:

json
{  "mcpServers": {    "kalicart-global": {      "url": "https://global.kalicart.com/mcp-public"    }  }}

Tools

All five tools are public, keyless, read-only, and idempotent.

ToolPurpose
global_searchSearch the federated index by free text (q) and/or canonical category (leaf), with facet filters (brand, gender, color, price range, stock). Returns offers with merchant-authoritative prices, UCP availability_status, storefront URLs and canonical category leaves.
get_productFull product detail by p2209_id (obtained from global_search): price, availability, attributes, variants, direct storefront URL.
lookup_merchantCheck whether a merchant domain runs an ARC-compliant catalog (KaliCart Bridge). Returns bridge version, discovery URL and federated-indexing consent flags; a miss returns probe: "not_scheduled" rather than queuing a background check. Federated-indexing consent is separate from a merchant's optional authorization of a named external provider (see Legal above); this tool does not report per-provider authorization state.
list_merchantsList participating merchants with domain, storefront URL and product count.
list_categoriesList canonical category leaves with product counts; supports parent filtering.

Typical flow: list_categories / list_merchants to understand coverage → global_search to find offers → get_product on finalists → hand off to the merchant storefront URL.

Behavior notes

  • global_search with neither q nor leaf returns a query_required error (guidance_code: USE_Q_OR_LEAF), not an empty result set — pass at least one.
  • list_categories without parent returns up to 100 leaves per call (truncated: true plus total and complete_via when there are more); use parent filtering or the paging hint to walk the full set.
  • Search results and product details are indexed snapshots (provenance.fetched_at), not a live database read — verify the selected offer via its Bridge handoff before treating price or stock as final.
  • Free-text queries match native merchant catalog text; there is no server-side translation. Use leaf and facet filters for language-neutral retrieval.
  • Price filters operate in each offer's merchant currency; no FX conversion is applied.
  • No pagination: use limit (max 25 for offers, 50 for merchants).

This repository is the public interface for the server — documentation, issue tracking and security contact. The server is a hosted service; its source is not published here.

The MIT license covers the contents of this repository only; the hosted service and catalog data are governed by the Terms of Use.

UCP Catalog

KaliCart Global also speaks the Universal Commerce Protocol Catalog capability (spec 2026-08-25), so any UCP shopping agent can query independent WooCommerce stores the same way it queries other UCP catalogs.

  • Profile: https://global.kalicart.com/.well-known/ucp (catalog search + lookup, no checkout)
  • Endpoint: https://global.kalicart.com/ucp/mcp (Streamable HTTP)
  • Tools: search_catalog, lookup_catalog, get_product. Every request must carry meta["ucp-agent"].profile.

What to expect:

  • Every variant carries its seller (the merchant), with a link to the store and, when declared, its refund policy.
  • search_catalog returns an indexed snapshot (metadata.kalicart.snapshot_at). get_product and lookup_catalog read price and availability live from the merchant's KaliCart Bridge when it answers in time (metadata.kalicart.source = "live"), and say so when they fall back to the snapshot.
  • Prices are in ISO 4217 minor units. Identifiers are stable: gid://kalicart/Product/… and gid://kalicart/ProductVariant/….
  • Categories use the KaliCart canonical taxonomy (taxonomy: "kalicart", e.g. home.bedroom.pillows); pass them back in filters.categories.
  • Perimeter: the same catalog as the public Global API — every opted-in merchant, including wine and spirits and digital goods, with the store's own age and legal checks at checkout. Surfaces built for one specific platform apply that platform's narrower product policy; the UCP endpoint does not.
  • Only merchants that installed KaliCart Bridge and opted in are indexed. KaliCart never sells, checks out or takes payment: the purchase happens on the merchant's store, and its checkout is the final authority.

Feedback

If you are evaluating or integrating this server and hit unexpected behavior, open an issue. Including the UTC timestamp of your requests lets us correlate with server logs.

For security matters, see SECURITY.md — please do not report vulnerabilities via public issues.

Related

  • KaliCart Bridge — the free WooCommerce plugin that makes a single merchant's catalog agent-readable (ARC). Bridge is the door on each store; Global is the federated index across many such doors.
  • kalicart-mcp — per-site MCP plugin for WordPress content.

Maintained by Save The Brain · Giuseppe Socci

来源:README.md,提交 ebf2567

工具

9

get_offer_attestation

Portable merchant attestation for one offer

Returns a cryptographic proof that this offer's product row is exactly the one the merchant signed in its catalog snapshot: the signed row, its bucket hashes, the Ed25519-signed manifest, the merchant public key and step-by-step verification. Trust is anchored on the merchant domain (key fingerprint published at key_anchor), not on KaliCart. It proves the row as signed at snapshot.generated_at, not the current price or stock: the checkout is authoritative. Independent verifier: https://global.kalicart.com/ucp/tools/verify-offer-attestation.js

输入参数p2209_id必填

estimate_delivered_cost

Estimate the delivered cost of one offer to a destination

Deterministic estimate from the merchant's own data: item price x quantity plus the shipping options the store declares for the destination (flat rate = declared base rate; free shipping with its threshold, whether this quantity reaches it and how much is missing). Lists what is not included (shipping classes, cost formulas, duties, taxes on shipping). Pass variation_id for variable products. Valid within max_age_seconds of the last merchant confirmation; live=true reads the merchant now. The checkout is the only authority.

输入参数livep2209_id必填quantitydestination必填variation_idmax_age_seconds

verify_basket

Verify a multi-merchant basket before handing it to checkout

Checks a basket of offers (up to 40 lines, any merchants) against the merchants' own data. Per line: variant_selected, available, quantity (declared stock) and price_unchanged (pass expected_unit_price), each true / false / unknown with evidence. Per merchant: subtotal, declared shipping options for the destination computed on that merchant's basket subtotal (free-shipping threshold, amount missing), and the exact checkout-session request (endpoint + body) to send to the merchant ONLY after the user decides. KaliCart creates no session and no order; totals are estimates and the merchant checkout is the only authority.

输入参数liveitems必填destinationmax_age_seconds

verify_offer

Verify constraints on one offer (true / false / unknown)

Checks ONE offer (optionally a selected variant) and returns true, false or unknown per constraint with evidence. Pass constraints as an ARRAY, for example [{"field":"available"},{"field":"price","max":300,"currency":"EUR"},{"field":"ships_to","value":"IT:CB"}]. available has no expected key: ask for the fact and read its result. For a merchant-declared variant option use {"field":"option","keys":["pa_color"],"values":["black"]}; use only native merchant values, with variation_id for a specific variant. Nothing is inferred or translated. Results are unknown outside max_age_seconds (default 86400); live=true reads the merchant now. Checkout is the final authority.

输入参数livep2209_id必填constraints必填variation_idmax_age_seconds

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.

输入参数domain必填

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. Variant options and colors are merchant-declared snapshot evidence matched by variation ID. 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.

输入参数p2209_id必填

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.

输入参数limit

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.

输入参数parent

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分