Skip to main content
Glama

Check product page price and schema

check_product_page
Read-only

Fetches one public product page without running JavaScript and reports whether the price and stock are in the HTML and which of six product structured data fields are present: price, availability, brand, identifier (gtin or sku), shipping details and aggregate rating. Use when the user gives a product page URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
product_urlYesThe full address of one public product page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
toolYes
cachedYes
limitsYes
statusYes
verdictYes
findingsYes
checked_atYes
report_urlYes
price_and_stock_in_htmlNo
product_structured_dataNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedOutput schema / properties / price_and_stock_in_html / properties / platform
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / price_and_stock_in_html / required
      Previous value: -[
      -  "verdict",
      -  "headline",
      -  "page_checked",
      -  "fields",
      -  "note",
      -  "report_url"
      -]New value: +[
      +  "verdict",
      +  "headline",
      +  "page_checked",
      +  "platform",
      +  "fields",
      +  "note",
      +  "report_url"
      +]
    • addedOutput schema / properties / product_structured_data / properties / found_outside_product_offer
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / product_structured_data / properties / platform
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / product_structured_data / required
      Previous value: -[
      -  "verdict",
      -  "headline",
      -  "page_checked",
      -  "fields",
      -  "missing_fields",
      -  "note",
      -  "json_ld",
      -  "report_url"
      -]New value: +[
      +  "verdict",
      +  "headline",
      +  "page_checked",
      +  "platform",
      +  "fields",
      +  "missing_fields",
      +  "found_outside_product_offer",
      +  "note",
      +  "json_ld",
      +  "report_url"
      +]
  2. Changed4 schema fields changed
    • removedOutput schema / properties / price_and_stock
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "fields": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "field": {
      -            "type": "string"
      -          },
      -          "present": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "field",
      -          "present"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "fix_by_platform": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fix": {
      -            "type": "string"
      -          },
      -          "platform": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "platform",
      -          "fix"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "headline": {
      -      "type": "string"
      -    },
      -    "note": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "page_checked": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "report_url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "verdict": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "verdict",
      -    "headline",
      -    "page_checked",
      -    "fields",
      -    "note",
      -    "report_url"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / price_and_stock_in_html
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "fields": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "field": {
      +            "type": "string"
      +          },
      +          "present": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "field",
      +          "present"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "fix_by_platform": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fix": {
      +            "type": "string"
      +          },
      +          "platform": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "platform",
      +          "fix"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "headline": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "page_checked": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "report_url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "verdict": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "verdict",
      +    "headline",
      +    "page_checked",
      +    "fields",
      +    "note",
      +    "report_url"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / product_schema
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "fields": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "field": {
      -            "type": "string"
      -          },
      -          "label": {
      -            "type": "string"
      -          },
      -          "present": {
      -            "type": "boolean"
      -          },
      -          "status": {
      -            "enum": [
      -              "present",
      -              "missing"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "field",
      -          "label",
      -          "present",
      -          "status"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "fix_by_platform": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fix": {
      -            "type": "string"
      -          },
      -          "platform": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "platform",
      -          "fix"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "headline": {
      -      "type": "string"
      -    },
      -    "json_ld": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": false,
      -          "properties": {
      -            "label": {
      -              "const": "quoted page text",
      -              "type": "string"
      -            },
      -            "text": {
      -              "maxLength": 200,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "label",
      -            "text"
      -          ],
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "missing_fields": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "note": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "page_checked": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "report_url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "verdict": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "verdict",
      -    "headline",
      -    "page_checked",
      -    "fields",
      -    "missing_fields",
      -    "note",
      -    "json_ld",
      -    "report_url"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / product_structured_data
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "fields": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "field": {
      +            "type": "string"
      +          },
      +          "label": {
      +            "type": "string"
      +          },
      +          "present": {
      +            "type": "boolean"
      +          },
      +          "status": {
      +            "enum": [
      +              "present",
      +              "missing"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "field",
      +          "label",
      +          "present",
      +          "status"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "fix_by_platform": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fix": {
      +            "type": "string"
      +          },
      +          "platform": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "platform",
      +          "fix"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "headline": {
      +      "type": "string"
      +    },
      +    "json_ld": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "label": {
      +              "const": "quoted page text",
      +              "type": "string"
      +            },
      +            "text": {
      +              "maxLength": 200,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "label",
      +            "text"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "missing_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "page_checked": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "report_url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "verdict": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "verdict",
      +    "headline",
      +    "page_checked",
      +    "fields",
      +    "missing_fields",
      +    "note",
      +    "json_ld",
      +    "report_url"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description still adds meaningful context beyond them: it runs without JavaScript (so JS-rendered prices may be missed) and enumerates the six checks, which sets expectations about output coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and its scope, with no redundant or filler text. The when-to-use cue is placed at the end without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details need not be repeated. Combined with the no-JS disclosure and the field list, an agent has enough to call it correctly; only the lack of sibling routing guidance leaves a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is a single required parameter fully documented in the schema. The description reinforces 'one public product page' but adds no syntax or format detail beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetches one public product page') and enumerates exactly what it reports (price/stock presence plus six structured-data fields). It is clear and scoped, but it never distinguishes itself from siblings like check_page_readability or check_page_visibility, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when the user gives a product page URL' gives a clear triggering condition. However, it offers no when-not-to-use guidance and does not name an alternative sibling for adjacent cases (e.g., general readability or AI-crawler checks).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources