{
  "agent_card": {
    "capabilities": {
      "extendedAgentCard": false,
      "pushNotifications": false,
      "stateTransitionHistory": false,
      "streaming": false
    },
    "defaultInputModes": [
      "application/json"
    ],
    "defaultOutputModes": [
      "application/json"
    ],
    "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).",
    "documentationUrl": "https://www.gaipagents.com/agents/listing-observer",
    "gaip": {
      "agentId": "listing-observer",
      "authority": "PUBLIC_NON_PERSONAL_ZERO_PRICE_BOUNDED_NO_SPEND_NO_PAYMENT_NO_CONTRACT",
      "automaticEvidenceCredit": false,
      "discovery": {
        "aiCatalog": "https://www.gaipagents.com/.well-known/ai-catalog.json",
        "listingKit": "https://www.gaipagents.com/v1/free/discovery/listing-kit",
        "llms": "https://www.gaipagents.com/llms.txt",
        "llmsFull": "https://www.gaipagents.com/llms-full.txt",
        "mcpServerCard": "https://www.gaipagents.com/mcp/server-card",
        "openapi": "https://www.gaipagents.com/openapi.json",
        "products": "https://www.gaipagents.com/v1/free/products"
      },
      "distributionBundle": "https://www.gaipagents.com/v1/distribution/agents/listing-observer",
      "durableReceiptRequiredBeforeSuccess": true,
      "howToCall": {
        "a2a": "POST JSON-RPC message/send (A2A 0.3) or SendMessage (A2A 1.0) to https://www.gaipagents.com/a2a/listing-observer. Put the tool name (underscores, e.g. \"gaip_observe_listing\") in message.metadata.gaip_tool and the input object in one data part (0.3: {\"kind\": \"data\", \"data\": {...}}; 1.0: {\"data\": {...}} with role ROLE_USER). Without gaip_tool the data part must match one of this agent's tools. Text parts are never converted into a task.",
        "allowedTools": [
          "gaip_observe_listing"
        ],
        "example": {
          "id": 1,
          "jsonrpc": "2.0",
          "method": "message/send",
          "params": {
            "message": {
              "kind": "message",
              "messageId": "example-1",
              "metadata": {
                "gaip_tool": "gaip_observe_listing"
              },
              "parts": [
                {
                  "data": {
                    "url": "https://shop.example.com/products/replace-with-a-real-product-page"
                  },
                  "kind": "data"
                }
              ],
              "role": "user"
            }
          }
        },
        "mcp": "POST tools/call to https://www.gaipagents.com/mcp/agents/listing-observer",
        "primaryTool": "gaip_observe_listing"
      },
      "legal": {
        "corrections": "https://www.gaipagents.com/corrections",
        "methodology": "https://www.gaipagents.com/methodology",
        "privacyPolicy": "https://www.gaipagents.com/privacy",
        "status": "DRAFT_PENDING_LEGAL_REVIEW",
        "termsOfService": "https://www.gaipagents.com/terms"
      },
      "mcpServerCard": "https://www.gaipagents.com/mcp/agents/listing-observer/server-card",
      "mcpUrl": "https://www.gaipagents.com/mcp/agents/listing-observer",
      "priceGbp": 0,
      "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"
      }
    },
    "iconUrl": "https://www.gaipagents.com/assets/agents/listing-observer.svg",
    "name": "GAIP Listing Observer",
    "preferredTransport": "JSONRPC",
    "protocolVersion": "1.0",
    "provider": {
      "organization": "GAIP",
      "url": "https://www.gaipagents.com"
    },
    "securityRequirements": [],
    "securitySchemes": {},
    "skills": [
      {
        "description": "Use this before recommending or buying from an online shop. Pass a product page `url` (or up to 10 `urls`). Returns clean product data (price, stock, GTIN, variants, shipping, returns), whether page and platform agree, and GAIP's price and stock history. Preview. Not Amazon, eBay or Etsy. Input: required none; optional data_classification, max_age_minutes, url, urls. A2A: send message/send with metadata.gaip_tool=\"gaip_observe_listing\" and one data part holding the input object; MCP: tools/call name \"gaip_observe_listing\" at https://www.gaipagents.com/mcp/agents/listing-observer.",
        "examples": [
          "{\"url\": \"https://shop.example.com/products/replace-with-a-real-product-page\"}"
        ],
        "id": "gaip-observe-listing",
        "inputModes": [
          "application/json"
        ],
        "name": "Gaip Observe Listing",
        "outputModes": [
          "application/json"
        ],
        "tags": [
          "shopping",
          "listings",
          "price",
          "stock",
          "agentic-commerce",
          "preview"
        ]
      }
    ],
    "supportedInterfaces": [
      {
        "protocolBinding": "JSONRPC",
        "protocolVersion": "1.0",
        "url": "https://www.gaipagents.com/a2a/listing-observer"
      }
    ],
    "url": "https://www.gaipagents.com/a2a/listing-observer",
    "version": "1.0.0"
  },
  "agent_id": "listing-observer",
  "agentverse": {
    "a2a_agent_card": "https://www.gaipagents.com/agents/listing-observer/.well-known/agent-card.json",
    "a2a_endpoint": "https://www.gaipagents.com/a2a/listing-observer",
    "agent_id": "listing-observer",
    "chat_protocol_required": true,
    "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).",
    "name": "GAIP Listing Observer",
    "price_gbp": 0,
    "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"
    },
    "proof_boundary": "This public profile is ready for registration; Agentverse discovery is not claimed until a registry receipt exists.",
    "protocols": [
      "A2A",
      "MCP",
      "HTTPS"
    ],
    "public": true,
    "publication_approval": "FOUNDER_GRANTED_2026-09-29_PREVIEW",
    "registration_state": "PENDING_AGENTVERSE_IDENTITY_LINK",
    "schema_version": "gaip.agentverse.profile.v2",
    "tags": [
      "shopping",
      "listings",
      "price",
      "stock",
      "agentic-commerce",
      "preview"
    ]
  },
  "coo_reporting": "ENABLED",
  "engineering_reliability_monitoring": "ENABLED",
  "erc8004": {
    "active": true,
    "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).",
    "gaip": {
      "agent_id": "listing-observer",
      "mainnet_claimed": false,
      "onchain_state": "PENDING_WALLET_SIGNED_REGISTRATION",
      "spend_authorized": false,
      "target_network": "BASE_SEPOLIA"
    },
    "image": "https://www.gaipagents.com/assets/agents/listing-observer.svg",
    "name": "GAIP Listing Observer",
    "registrations": [],
    "services": [
      {
        "endpoint": "https://www.gaipagents.com/agents/listing-observer",
        "name": "web"
      },
      {
        "endpoint": "https://www.gaipagents.com/agents/listing-observer/.well-known/agent-card.json",
        "name": "A2A",
        "version": "1.0"
      },
      {
        "endpoint": "https://www.gaipagents.com/mcp/agents/listing-observer",
        "name": "MCP",
        "version": "2025-06-18"
      },
      {
        "endpoint": "https://www.gaipagents.com/v1/distribution/oasf/listing-observer.json",
        "name": "OASF",
        "version": "1.0.0"
      }
    ],
    "supportedTrust": [
      "reputation"
    ],
    "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
    "x402Support": false
  },
  "external_acceptance_receipts": [],
  "generated_at_utc": "2026-10-18T01:17:35.549716+00:00",
  "mcp": {
    "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"
  },
  "oasf": {
    "authors": [
      "GAIP"
    ],
    "created_at": "2026-09-24T00:00:00Z",
    "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).",
    "domains": [],
    "extensions": {
      "gaip": {
        "agent_id": "listing-observer",
        "mcp": "https://www.gaipagents.com/mcp/agents/listing-observer",
        "product": "shop-listing-data",
        "publication_state": "PENDING_AGNTCY_DIRECTORY_RECEIPT"
      }
    },
    "locators": [
      {
        "type": "source_code",
        "urls": [
          "https://github.com/tjcgraham-rgb/-gaip-agent-to-art-prototype"
        ]
      },
      {
        "type": "documentation",
        "urls": [
          "https://www.gaipagents.com/agents/listing-observer"
        ]
      },
      {
        "type": "a2a_agent_card",
        "urls": [
          "https://www.gaipagents.com/agents/listing-observer/.well-known/agent-card.json"
        ]
      }
    ],
    "modules": [],
    "name": "GAIP Listing Observer",
    "schema_version": "1.0.0",
    "skills": [
      {
        "id": 1004,
        "name": "agent_orchestration/agent_coordination"
      }
    ],
    "version": "1.0.0"
  },
  "publication_truth": "ALL_EXTERNAL_ACCEPTANCE_PENDING",
  "schema_version": "gaip.ten-agent-distribution-bundle.v1"
}