shopgraph
Clean product data from any URL. Schema.org + AI extraction. 200 free calls/month.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"shopgraph": {
"command": "npx",
"args": [
"shopgraph"
]
}
}
}Runnable packages
1.0.1streamable-httpRemote endpoints
https://shopgraph.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢enrich_product(url, payment_method_id, strict_confidence_threshold, force_refresh, minimum_confidence, ...)
Extract comprehensive product data from a URL including name, price, brand, images, availability, and more. Uses schema.org structured data when available, with LLM fallback. Costs $0.02 per call (cached results are free). Each field carries verification metadata in _shopgraph: provenance (field_method — which source/tier produced it: schema_org, llm, or hybrid), freshness (field_freshness — recency + volatility_class, for volatile fields like price & availability), and abstain (a field is null when ShopGraph cannot verify it on the page). Rely on provenance, freshness, and the abstain signal to decide what to trust.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Product page URL to extract data from"
},
"payment_method_id": {
"type": "string",
"description": "Stripe payment method ID for MPP payment"
},
"strict_confidence_threshold": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fields below this confidence will be nulled with explanation. Default: off."
},
"force_refresh": {
"type": "boolean",
"description": "Bypass cache entirely. Always triggers live extraction. Costs 3x credits."
},
"minimum_confidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Auto-refresh if any cached field's DECAYED confidence falls below this threshold. Costs 2x credits when refresh triggers, 0.25x on cache hit."
},
"format": {
"type": "string",
"enum": [
"default",
"ucp"
],
"default": "default",
"description": "Output format. \"ucp\" returns UCP line_item format. Default: \"default\"."
},
"include_score": {
"type": "boolean",
"description": "Include agent-readiness score in response."
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢enrich_basic(url, payment_method_id, strict_confidence_threshold, force_refresh, minimum_confidence, ...)
Extract basic product attributes from a URL (name, price, brand, availability). Faster and cheaper than enrich_product. 50 free calls/month — no payment needed. Paid: $0.01 per call after free tier. Each field carries verification metadata in _shopgraph: provenance (field_method — which source/tier produced it: schema_org, llm, or hybrid), freshness (field_freshness — recency + volatility_class, for volatile fields like price & availability), and abstain (a field is null when ShopGraph cannot verify it on the page). Rely on provenance, freshness, and the abstain signal to decide what to trust.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Product page URL to extract data from"
},
"payment_method_id": {
"type": "string",
"description": "Stripe payment method ID for MPP payment"
},
"strict_confidence_threshold": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fields below this confidence will be nulled with explanation. Default: off."
},
"force_refresh": {
"type": "boolean",
"description": "Bypass cache entirely. Always triggers live extraction. Costs 3x credits."
},
"minimum_confidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Auto-refresh if any cached field's DECAYED confidence falls below this threshold. Costs 2x credits when refresh triggers, 0.25x on cache hit."
},
"format": {
"type": "string",
"enum": [
"default",
"ucp"
],
"default": "default",
"description": "Output format. \"ucp\" returns UCP line_item format. Default: \"default\"."
},
"include_score": {
"type": "boolean",
"description": "Include agent-readiness score in response."
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢enrich_html(html, url, payment_method_id, strict_confidence_threshold, force_refresh, ...)
Extract product data from raw HTML you already have (no HTTP fetch needed). Ideal when using Bright Data, Firecrawl, or any scraping API — pipe the HTML through ShopGraph for structured product data. Uses schema.org + LLM fallback. Costs $0.02 per call (cached results are free). Each field carries verification metadata in _shopgraph: provenance (field_method — which source/tier produced it: schema_org, llm, or hybrid), freshness (field_freshness — recency + volatility_class, for volatile fields like price & availability), and abstain (a field is null when ShopGraph cannot verify it on the page). Rely on provenance, freshness, and the abstain signal to decide what to trust.
Input Schema
{
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Raw HTML content of the product page"
},
"url": {
"type": "string",
"format": "uri",
"description": "Original URL of the page (used for context and caching)"
},
"payment_method_id": {
"type": "string",
"description": "Stripe payment method ID for MPP payment"
},
"strict_confidence_threshold": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fields below this confidence will be nulled with explanation. Default: off."
},
"force_refresh": {
"type": "boolean",
"description": "Bypass cache entirely. Always triggers live extraction. Costs 3x credits."
},
"minimum_confidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Auto-refresh if any cached field's DECAYED confidence falls below this threshold."
},
"format": {
"type": "string",
"enum": [
"default",
"ucp"
],
"default": "default",
"description": "Output format. \"ucp\" returns UCP line_item format. Default: \"default\"."
},
"include_score": {
"type": "boolean",
"description": "Include agent-readiness score in response."
}
},
"required": [
"html",
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢score_product(url, payment_method_id, strict_confidence_threshold, format)
Extract product data and return agent-readiness score (0-100). Scores structured data completeness, semantic richness, UCP compatibility, pricing clarity, and inventory signals. Full scoring breakdown included.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Product page URL to extract and score"
},
"payment_method_id": {
"type": "string",
"description": "Stripe payment method ID for MPP payment"
},
"strict_confidence_threshold": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Fields below this confidence will be nulled with explanation. Default: off."
},
"format": {
"type": "string",
"enum": [
"default",
"ucp"
],
"default": "default",
"description": "Output format. \"ucp\" returns UCP line_item format. Default: \"default\"."
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence