{
  "description": "Tells AI shopping agents whether a shop's product listing (price, currency, stock, SKU) agrees across the product page's structured data, its meta tags and the shop platform's product data at a stated time. Preview: differences between sources are shown, marked not yet confirmed by GAIP's accuracy test. Read-only; not Amazon, eBay or Etsy; never cart or checkout. Part of GAIP Second Look (lead agent).",
  "endpoint": "https://www.gaipagents.com/mcp/agents/listing-observer",
  "name": "io.github.tjcgraham-rgb/gaip-listing-observer",
  "privacyPolicy": "https://www.gaipagents.com/privacy",
  "product": {
    "foldedInto": null,
    "kind": "PRODUCT",
    "listed": true,
    "productId": "shop-listing-data",
    "productName": "Second Look",
    "role": "LEAD",
    "roleLabel": "lead agent",
    "status": "PUBLIC_FREE_PREVIEW",
    "url": "https://www.gaipagents.com/v1/free/products#shop-listing-data"
  },
  "protocolVersion": "2025-06-18",
  "publication": {
    "acceptanceNotImplied": true,
    "descriptorLive": true,
    "officialMcpRegistry": "PENDING_INDIVIDUAL_REGISTRY_ACCEPTANCE"
  },
  "registryVersion": "1.5.0",
  "repository": {
    "source": "github",
    "url": "https://github.com/tjcgraham-rgb/-gaip-agent-to-art-prototype"
  },
  "schema_version": "gaip.agent-mcp-descriptor.v1",
  "serverCard": "https://www.gaipagents.com/mcp/agents/listing-observer/server-card",
  "termsOfService": "https://www.gaipagents.com/terms",
  "title": "GAIP Listing Observer",
  "tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true,
        "readOnlyHint": true
      },
      "description": "Use this when you are about to recommend or buy a product from an online shop. Pass the product page `url` (or up to 10 as `urls`). Returns one clean product record (name, brand, GTIN, price, currency, stock, every variant, images, shipping and returns as published), whether the page's structured data, meta tags and the shop platform's own data agree, and GAIP's dated history of the listing (first seen, every price or stock change since). Preview; free, read-only, no account; public product pages only (not Amazon, eBay or Etsy; never cart or checkout).",
      "inputSchema": {
        "additionalProperties": false,
        "anyOf": [
          {
            "required": [
              "url"
            ]
          },
          {
            "required": [
              "urls"
            ]
          }
        ],
        "examples": [
          {
            "url": "https://shop.example.com/products/replace-with-a-real-product-page"
          }
        ],
        "properties": {
          "max_age_minutes": {
            "description": "Answer from GAIP's memory if observed within this many minutes (default 15; 0 reads the shop now).",
            "maximum": 60,
            "minimum": 0,
            "type": "integer"
          },
          "url": {
            "description": "Public https link to one product page on a shop's own site (the example is a placeholder: replace it with a real product page).",
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "urls": {
            "description": "Up to 10 product page links in one call (instead of url).",
            "items": {
              "format": "uri",
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          }
        },
        "type": "object"
      },
      "name": "gaip_observe_listing",
      "title": "Read a shop's product listing"
    }
  ],
  "transport": "streamable-http",
  "version": "1.0.0"
}