{
  "schema_version": "1.0",
  "name": "legibility",
  "display_name": "Legibility",
  "description": "Typed product data for AI agents. Reads a product URL or GTIN barcode, or resolves a product name, into a typed product with per-field confidence, a price band, the extraction method and the cost of the call. Trusted coverage is structured pages, Shopify stores and barcodes; below the 0.7 trust gate it returns null rather than a guess.",
  "homepage": "https://legibility.io",
  "documentation": "https://legibility.io/docs/mcp",
  "mcp": {
    "protocol_version": "2025-06-18",
    "transport": "http",
    "endpoint": "https://legibility.io/api/mcp",
    "discovery": "free",
    "auth": [
      {
        "type": "bearer_api_key",
        "prefix": "lgk_",
        "description": "Create a key at https://legibility.io in the dashboard. Required for tools/call unless paying per call over x402."
      },
      {
        "type": "x402",
        "network": "base-sepolia",
        "asset": "USDC",
        "description": "Per-call payment. tools/call returns HTTP 402 with payment requirements when no valid key or X-PAYMENT header is presented. Testnet only."
      }
    ],
    "tools": [
      {
        "name": "read_product",
        "title": "Read a product",
        "description": "Read one product page URL or GTIN barcode into a typed product with per-field and overall calibrated confidence, a price band, the extraction method and the cost of the call. Trusted coverage is structured data: product pages that serve schema.org Product JSON-LD, Shopify stores and GTIN barcodes, plus OpenGraph pages admitted through a verified prior. Below the 0.7 trust gate, or when a page is not safe to read (blocked, a 404, not a product), it returns product: null with a low confidence instead of a guess, and that read is not charged. Pay with a Legibility API key, or per call in USDC over x402 on Base Sepolia (testnet)."
      },
      {
        "name": "resolve_product",
        "title": "Resolve a product name",
        "description": "Resolve a product name someone typed into one typed product: a web search finds candidate pages, then the best candidate is read as read_product reads a page, in the same call. Trusted coverage is structured data: product pages that serve schema.org Product JSON-LD, Shopify stores and GTIN barcodes, plus OpenGraph pages admitted through a verified prior. Below the 0.7 trust gate, or when a page is not safe to read (blocked, a 404, not a product), it returns product: null with a low confidence instead of a guess, and that read is not charged. When search is unavailable or no candidate can be read safely, it also returns product: null. Pay with a Legibility API key, or per call in USDC over x402 on Base Sepolia (testnet)."
      }
    ]
  },
  "rest_api": {
    "base_url": "https://legibility.io/api/v1",
    "note": "compare_products and brief_product are available over REST only, not yet on the MCP tool list."
  },
  "pricing": {
    "free_tier": "1000 trusted reads per month, no card, hard stop",
    "paid_tiers": "see https://legibility.io/docs/quickstart and https://legibility.io#pricing",
    "per_call": "x402 on Base Sepolia (testnet)"
  },
  "contact": "founders@legibility.io"
}