shopgraph
Server Details
Clean product data from any URL. Schema.org + AI extraction. 200 free calls/month.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- laundromatic/shopgraph
- GitHub Stars
- 3
- Server Listing
- ShopGraph
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 4 of 4 tools scored.
Each tool has a clearly distinct purpose: enrich_basic vs enrich_product differ in scope and cost, enrich_html uses raw HTML input, and score_product returns a score. No ambiguity.
All tools follow a consistent verb_noun pattern with snake_case (enrich_*, score_*), making it easy to infer functionality.
With 4 tools, the set is well-scoped for product data enrichment and scoring, neither too sparse nor too bloated.
The tools cover basic extraction, comprehensive extraction, HTML-based extraction, and scoring, leaving no obvious gaps for the domain.
Available Tools
4 toolsenrich_basicARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Product page URL to extract data from | |
| format | No | Output format. "ucp" returns UCP line_item format. Default: "default". | default |
| force_refresh | No | Bypass cache entirely. Always triggers live extraction. Costs 3x credits. | |
| include_score | No | Include agent-readiness score in response. | |
| payment_method_id | No | Stripe payment method ID for MPP payment | |
| minimum_confidence | No | Auto-refresh if any cached field's DECAYED confidence falls below this threshold. Costs 2x credits when refresh triggers, 0.25x on cache hit. | |
| strict_confidence_threshold | No | Fields below this confidence will be nulled with explanation. Default: off. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, and the description adds rich behavioral context beyond them: it explains the _shopgraph metadata with provenance, freshness, and abstain fields, and explains how null values indicate verification failure. This gives the agent a clear model of what the tool returns and how to interpret trustworthiness, without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tight and well-structured: purpose in the first sentence, cost details in the second and third, and data quality metadata in the fourth. Every sentence contributes new information, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and no output schema, the description covers essential context: the output's verification metadata, nulling behavior for unverifiable fields, and pricing. It could mention response structure in more detail, but the description is sufficiently complete for an agent to understand and trust the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented in the schema. The description does not add parameter-specific details, but it does explain the overall output metadata (field_method, field_freshness, abstain) which helps understand the meaning of confidence-related parameters. This is baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Extract' with a clear resource 'basic product attributes from a URL' and lists the exact fields (name, price, brand, availability). It distinguishes itself from the sibling enrich_product by explicitly noting it is 'Faster and cheaper', making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool by comparing with enrich_product ('Faster and cheaper') and mentioning the free tier/payment model. It doesn't explicitly state when not to use it or name all sibling alternatives, but the guidance is sufficient for basic selection decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_htmlARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Original URL of the page (used for context and caching) | |
| html | Yes | Raw HTML content of the product page | |
| format | No | Output format. "ucp" returns UCP line_item format. Default: "default". | default |
| force_refresh | No | Bypass cache entirely. Always triggers live extraction. Costs 3x credits. | |
| include_score | No | Include agent-readiness score in response. | |
| payment_method_id | No | Stripe payment method ID for MPP payment | |
| minimum_confidence | No | Auto-refresh if any cached field's DECAYED confidence falls below this threshold. | |
| strict_confidence_threshold | No | Fields below this confidence will be nulled with explanation. Default: off. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint and openWorldHint, but the description adds significant behavioral context: cost per call, caching behavior, the schema.org + LLM dual-extraction strategy, and the _shopgraph verification metadata (provenance, freshness, abstain). This goes far beyond the structured annotations and helps an agent understand trustworthiness of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but front-loaded with a clear purpose sentence, then elaborates on usage, cost, and metadata. Every sentence adds value, though the metadata explanation is dense and may take a couple reads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly explains the tool's verification metadata and cost model, but since there is no output schema, it leaves the actual product fields vague ('structured product data' with only price and availability as examples). An agent may not know what fields to expect. This is a notable gap given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters have descriptions in the schema, so the baseline is 3. The description adds context about caching and costs that informs force_refresh and minimum_confidence, and the mention of 'abstain' explains null field behavior, which aligns with confidence-related params. This is enough to elevate slightly beyond baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts product data from raw HTML and distinguishes itself by noting 'no HTTP fetch needed', positioning it as a post-scraping enrichment step. It also mentions the use of schema.org + LLM fallback, making its function specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Ideal when using Bright Data, Firecrawl, or any scraping API — pipe the HTML through ShopGraph for structured product data', providing clear context for when to use this tool. While it doesn't name alternative tools or exclusions, the 'raw HTML you already have' phrasing implies it is for pre-fetched content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_productARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Product page URL to extract data from | |
| format | No | Output format. "ucp" returns UCP line_item format. Default: "default". | default |
| force_refresh | No | Bypass cache entirely. Always triggers live extraction. Costs 3x credits. | |
| include_score | No | Include agent-readiness score in response. | |
| payment_method_id | No | Stripe payment method ID for MPP payment | |
| minimum_confidence | No | Auto-refresh if any cached field's DECAYED confidence falls below this threshold. Costs 2x credits when refresh triggers, 0.25x on cache hit. | |
| strict_confidence_threshold | No | Fields below this confidence will be nulled with explanation. Default: off. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, openWorldHint), the description discloses significant behavioral traits: LLM fallback, cost structure (including free cached results), cache bypass implications, and detailed metadata about provenance, freshness, and abstention. This far exceeds annotations and adds important trust-related context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: it front-loads the core purpose, then covers cost, metadata, and trust signals in separate clauses. It is longer than average, but every sentence contributes meaningful information, so it earns a 4 rather than a 3.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description does a good job explaining the nature of the response (product fields plus _shopgraph metadata). However, it does not enumerate the complete set of returned fields or provide explicit output structure examples, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining cost implications (e.g., free cache, 3x for force_refresh, 2x for minimum_confidence triggers) and the role of verification metadata, which helps agents reason about parameter trade-offs beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it extracts comprehensive product data from a URL, listing specific fields (name, price, brand, images, availability). It distinguishes itself from siblings like enrich_basic by emphasizing comprehensiveness and the use of schema.org plus LLM fallback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong contextual guidance: it mentions cost per call, caching behavior, and the methodology (schema.org with LLM fallback). However, it does not explicitly name alternatives or state when not to use this tool versus enrich_basic or enrich_html, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_productARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Product page URL to extract and score | |
| format | No | Output format. "ucp" returns UCP line_item format. Default: "default". | default |
| payment_method_id | No | Stripe payment method ID for MPP payment | |
| strict_confidence_threshold | No | Fields below this confidence will be nulled with explanation. Default: off. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds meaningful context: the scoring dimensions and the fact that a full breakdown is included. It does not, however, disclose that payment_method_id may trigger a monetary charge (MPP payment), which is a behavioral aspect not covered by annotations—yet this does not rise to a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: the first defines the action and result, the second details the scoring criteria, and the third states the output includes a full breakdown. Every sentence earns its place, and the most critical purpose information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the tool's input and high-level output, but with no output schema it does not describe the exact return structure beyond 'full scoring breakdown'. It also omits any mention of the payment-related behavior and error conditions, leaving some ambiguity for an agent invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds macro-context (what the score measures) but does not add per-parameter detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Extract product data and return agent-readiness score') and clearly distinguishes this from sibling enrichment tools by emphasizing scoring rather than enrichment. It also specifies the score range and the exact criteria being measured, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool (when an agent-readiness score is needed) and provides the domain of application. However, it does not explicitly contrast it with sibling tools like enrich_basic or enrich_product, nor does it state when not to use it, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityDmaintenanceKlarna-style product discovery for AI shopping agents. Makes product catalogs machine-readable so AI agents can search, compare, and purchase products programmatically.6MIT
- AlicenseAqualityAmaintenanceReal Amazon (US, UK, DE, CA, AU) & Walmart shopping data for AI assistants: ranked product shortlists, current prices, live stock, real ratings, and price/BSR history from a 17M+ product warehouse. Free hosted endpoint, no signup — 30 queries a day.3MIT
- AlicenseAqualityFmaintenanceStructured web extraction for AI agents. Pass any URL and a prompt, get clean JSON data back. Native MCP server with 100 free requests/month.3794MIT
- Flicense-qualityBmaintenanceEnables AI agents to extract structured JSON data from web pages using presets or custom JSON schemas, with confidence scores and source snippets, paid per call via USDC on Base.
Your Connectors
Sign in to create a connector for this server.