CatalogReady
MCP server for auditing product pages to determine AI shopping agent readiness, providing a 0–100 score and actionable fixes.
README
CatalogReady
Can AI shopping agents actually read your product page?
CatalogReady is the open-source Lighthouse for AI shopping. Point it at a product page and get a transparent 0–100 readiness score, the exact product data machines can and cannot read, unsupported marketing claims, and paste-ready fixes.
Offline · deterministic rules · no API key · never writes to your store.
uvx --from catalogready-ai catalogready https://your-store.com/products/example
Waterproof Commuter Shoe – Blue
CatalogReady Score: 82/100 (ready)
Product identity 16/20
Offer completeness 20/20
Structured data 20/20
Decision evidence 14/15
Media & variants 2/15
Claim grounding 10/10
0 critical · 2 recommended · 0 minor findings
Full report: catalogready-report.html
The HTML report is a single self-contained file: score dial, per-pillar breakdown, every finding with a stable rule ID, the questions only the merchant can answer, a recommended Product JSON-LD block built strictly from evidence found on the page, and a downloadable PNG score card.
Why this exists
ChatGPT shopping, Google AI results, and Perplexity buy-flows read product pages with machines, not eyes. A page can look perfect to humans while being invisible or untrustworthy to an AI shopping agent: missing stable IDs, incomplete offers, absent Product JSON-LD, and marketing claims with no supporting evidence.
CatalogReady checks what the machines check — deterministically, locally, and with a score that survives scrutiny:
- Only your page earns points. Nothing CatalogReady generates contributes to the score.
- Blocking defects cap the score. Duplicate IDs, incomplete offers, missing structured data, or an unsupported high-risk claim hard-cap the number, no matter how complete everything else is.
- Every finding cites evidence and carries a rule ID you can grep for. docs/RULES.md documents every rule with its source — Google's merchant-listing requirements, OpenAI's Agentic Commerce feed spec, Bing's Copilot grounding guidelines, and the published crawler documentation of OpenAI, Perplexity, and Anthropic.
See docs/scoring-methodology.md for the full rubric and caps.
Install and run
# one-off (recommended for a first try)
uvx --from catalogready-ai catalogready https://your-store.com/products/example
# or as a checkout
uv sync
uv run catalogready audit https://your-store.com/products/example
# fully offline: audit a saved page instead of fetching it
uv run catalogready audit https://your-store.com/products/example saved-page.html
# machine-readable output
uv run catalogready audit <url> [saved.html] --json
Fetching is exactly one HTTP GET for the page you name. The audit engine itself makes no network calls — the test suite runs with networking disabled.
Try it on the bundled examples without touching the network:
uv run catalogready audit https://example.com/products/cr-001 examples/demo-store/index.html
uv run catalogready catalog examples/messy-apparel.csv # scores 51/100, and shows exactly why
What gets checked
| Pillar | Examples of rules |
|---|---|
| Product identity | stable ID (SKU/GTIN/MPN), brand, category, canonical URL |
| Offer completeness | price + currency + availability, complete Offer markup |
| Structured data | Product JSON-LD present, valid, consistent with the visible page |
| Decision evidence | description, specifications, shipping/returns/care/limitations on the page |
| Media & variants | primary image, image count, variant attributes and identity |
| Claim grounding | superlatives, “clinically proven”, warranty and performance claims checked against page evidence |
When facts are missing, CatalogReady asks instead of inventing: the report
lists the questions only the merchant can answer, and
--answers merchant-answers.json resumes the audit with verified values.
Interactive agent session
catalogready chat opens a Claude Code-style terminal session over the
bounded agent — audit, ask, answer, fix:
catalogready> /audit https://your-store.com/products/example
● inspect_product_page — Extracted 3 evidence items ...
● audit_product — Measured readiness at 16/100 and produced 13 findings.
CatalogReady Score: 16/100 (needs_work)
...
[blocking] price: What is the current verified product price?
catalogready> why is offer completeness low?
Offer completeness: 0/20
✗ price
✗ currency
...
catalogready> /answers sku=CR-100 price=49.00 currency=AUD availability=in_stock
catalogready> /draft
Isolated preview validation: 16 → 60 (+44), status validated.
catalogready> /report
The agent pauses for facts it cannot verify instead of inventing them;
/answers resumes it. Free-text questions are answered deterministically
from the audit result; set /provider openai (or gemini, claude,
deepseek — keys via server environment variables only) for open-ended,
model-answered questions grounded strictly in the audit JSON.
Interactive dashboard
One command serves the web UI and the local API on the same port and opens your browser:
uv run catalogready dashboard
Enter a product URL and press Audit — the local server fetches the page for you (one request). Or paste the HTML / load the built-in good/bad demos to stay fully offline. Every audit produces a plain-language summary conclusion, auto-drafted fix suggestions with an isolated preview validation, expandable per-pillar score explanations, inline merchant questions, a paste-ready JSON-LD patch, an "Ask the agent" chat window, and a downloadable HTML report. The UI follows your browser language (English / 中文, switchable in the header). Everything runs locally; the page never asks for API keys.
Use it with ChatGPT, Claude, Gemini, Copilot, or DeepSeek
CatalogReady ships an MCP server, so the AI assistant you already use can audit pages as a tool:
claude mcp add catalogready -- uvx --from catalogready-ai catalogready-mcp
docs/QUICKSTART-AI-ASSISTANTS.md has copy-paste setups for ChatGPT/Codex, Claude (Code + Desktop), Gemini (CLI + Enterprise A2A), Copilot (VS Code agent mode), and DeepSeek — covering both directions: the assistant calling CatalogReady as a tool, and each vendor as the optional BYO model inside CatalogReady. Protocol details: docs/INTEROPERABILITY.md.
How it compares
| CatalogReady | Google Rich Results Test | Generic SEO crawlers | AI copy generators | |
|---|---|---|---|---|
| Validates Product schema syntax | ✓ | ✓ | partial | ✗ |
| Scores completeness for AI shopping agents | ✓ | ✗ | ✗ | ✗ |
| Checks marketing claims against evidence | ✓ | ✗ | ✗ | ✗ |
| Runs offline, no account, no API key | ✓ | ✗ | ✗ | ✗ |
| Hands you a paste-ready JSON-LD fix | ✓ | ✗ | ✗ | generated, ungrounded |
Bring your own model key (optional)
Everything above runs with no key. To enable model-assisted planning,
chat answers, and listing drafts, put a provider key in the server's
.env — see docs/BYO-KEYS.md. Keys never enter the
dashboard, the extension, or tool arguments.
Also in the box
The audit engine is a vendor-neutral service with several thin surfaces. These are secondary to the page audit and documented in docs/ROADMAP.md:
catalogready catalog feed.csv— CSV catalog audit with the same deduction-and-cap scoring.catalogready-api— HTTP server with OpenAPI docs and an A2A agent card.- A Chromium extension (
browser-extension/) — one click on any product page captures the rendered HTML and shows the score, findings, merchant questions, auto-drafted fixes, and the ask-the-agent box. Works on bot-protected storefronts because it reads what your browser rendered. - Optional model-assisted listing drafts (OpenAI, Gemini, Claude, DeepSeek) with bring-your-own keys via server environment variables — never in tool arguments or browser storage — and deterministic claim evaluation with publishing safety caps.
Guarantees
- The deterministic core requires no API key and makes no network calls.
- CatalogReady never writes to a storefront, feed, or merchant system.
- It never invents product attributes, citations, or rankings.
- A readiness score is not a promise of ranking or citation by any AI system — and any tool that promises that is guessing.
Contributing
Rule proposals are the most valuable contribution — see
CONTRIBUTING.md and the issue templates. Run the suite
with python -m unittest discover -s tests -v; it must pass offline.
Architecture and module design: docs/repository-design.md · Rules with sources: docs/RULES.md · Scoring: docs/scoring-methodology.md · Interoperability: docs/INTEROPERABILITY.md · Roadmap: docs/ROADMAP.md
Contact
Built by Vincent Po Li. Questions, fix help, partnership, or feedback:
- Issues / discussions: github.com/PO-VINCENT/ai-shopping-audit
- Email: vincentli802@hotmail.com
- LinkedIn: vincent-po-li
- X: @Vincent_Po_Li
- 小红书 (Xiaohongshu):
vincent726217
Licensed under Apache-2.0.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。