Define a canonical product schema (name, brand, model_number, price, currency, shipping_estimate, availability, merchant_id, url) that all merchant adapters must emit.
Write a per-merchant adapter that fetches product data from that merchant's preferred interface (API, feed, or schema.org markup) and maps it to the canonical schema.
Implement a product matching step: use a combination of exact GTIN/MPN match and fuzzy title similarity to cluster results that represent the same physical product across merchants.
Compute a total-cost-of-ownership estimate per merchant offer: price + shipping + estimated tax; sort by this computed field for apples-to-apples comparison.
Surface comparison results as a structured payload with merchant name, offer URL, total cost, availability, and return policy summary so an upstream agent can make or recommend a purchase decision.
Store comparison results with a TTL and invalidate on receipt of a price-change event from your monitoring pipeline.
Known gotchas
Product title matching across merchants is error-prone; two listings for the same product can have wildly different titles; anchor matching on GTIN or MPN when available and use title similarity only as a tiebreaker.
Shipping cost estimates from merchant APIs are often based on a default address; always pass a real destination zip/postal code to get accurate shipping quotes.
Tax calculation requires knowing the buyer's jurisdiction and the merchant's tax nexus; omit tax or treat it as approximate unless you integrate a tax estimation service.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp