OpenShopGraph

com.openshopgraph/mcp

Open, verified shop database for AI agents: products, offers, price comparison, trust and coupons.

Yes, your AI can use this right now.Answered a live MCP handshake in 574 ms with no sign-in needed and exposes 8 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://api.openshopgraph.com/mcp

8 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
find_shopread-only

Search merchants/shops by free-text query (name or domain fragment), optionally filtered by country (ISO 3166-1 alpha-2, e.g. "DE") and/or by an EXACT category slug. Returns the public shop view only — shops still under internal review are never returned. `results` carries at most `limit` entries (default 50, max 100); `total_count` is the full match count before that cap and `truncated` is true

list_categoriesread-only

Enumerate the shop category taxonomy: every category slug currently carried by at least one public shop, together with how many public shops carry it. Call this BEFORE passing `category` to find_shop — the taxonomy is flat (no parent/child hierarchy, e.g. "fashion" and "womens-clothing" are siblings, not nested) and its slugs come from observed data, not a fixed enum baked into this tool, so a s

get_shopread-only

Fetch a single merchant/shop by id or domain (public view). Returns "shop not found" for shops still under internal review, identical to a genuinely unknown domain — reviewers cannot be distinguished from typos. The offers array is present for schema stability but empty until merchant offers are ingested (Offer table measured empty on 2026-07-30).

list_couponsread-only

List currently USABLE discount codes/coupons, optionally filtered by shop_domain (e.g. "otto.de"). A code is withheld from `results` when it is EXPIRED (valid_until has passed), when a real checkout test PROVED it does not work (verification_status "verified_rejected"), or when a display policy suppresses it on this channel/country. Nothing is withheld silently: `total_count` is the REAL number of

get_shipping_policyread-only

What a shop STATES about its own shipping: which destinations it names, the delivery time it claims, and any free-shipping threshold — plus the date that statement was last checked and where it was read (policy_page or structured_data). This is a shop-level statement, NOT an offer and NOT a quote: it carries no carrier and no shipping price, because OpenShopGraph does not hold that data. Pass co

get_trustread-only

Trust-relevant facts OpenShopGraph itself measured about one merchant/shop (by id or domain): TLS certificate issuer and grade, hosting ISP and country, domain registration date, registrar, and accepted payment methods. Returns INDIVIDUAL signals, never an aggregate: every entry carries its own value, `source` (where OpenShopGraph observed it) and `checked_at` (when). There is deliberately no scor

report_code

Record that a specific shop_domain + code (coupon) pair is wrong in one of four fixed, documented ways (invalid | mismatch | item_restricted | min_order_missing — see reasons enum; no free text anywhere). This is a write: it appends one new report row and NEVER changes the delivered coupon directly — it never deletes or overwrites data, and it does not itself decide anything. Subject to per-so

report_issue

Record a shop-level or data-fact issue as one fixed, documented reason (no free text). subject_type "shop": unreachable | no_longer_exists | info_outdated | wrong_category | wrong_name_or_domain. subject_type "fact": shipping_cost | return_period | payment_methods | evidence_broken. Same write semantics as report_code: appends one report row, never changes delivered data directly, only queues a re

Alternatives in Databases & Data

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”