{
  "name": "Lens Jewelry Price Comparison Agent",
  "description": "Give it a product (jewelry) image URL; it runs Google Lens (visual + exact matches) and optionally Google Shopping via SerpApi, then returns deduped merchant offers sorted by approximate AUD price, with a stock-image warning. 给一张珠宝图片链接，返回相似/同款商品的商家报价比价。",
  "version": "1.0.0",
  "supportedInterfaces": [
    {
      "url": "https://lens-a2a.brucel2000.workers.dev/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://lens-a2a.brucel2000.workers.dev/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "protocolVersion": "0.3.0",
  "url": "https://lens-a2a.brucel2000.workers.dev/a2a",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Bruce Li",
    "url": "https://lens-a2a.brucel2000.workers.dev"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://a2a-registry.org/extensions/registry/v1",
        "description": "A2A Registry identity hint (GitHub-based ownership claim for *.workers.dev).",
        "required": false,
        "params": {
          "identity": {
            "provider": "github",
            "username": "tigerrun123",
            "packageName": "github.tigerrun123.lens-a2a"
          }
        }
      }
    ]
  },
  "metadata": {
    "mcpEndpoint": "https://lens-a2a.brucel2000.workers.dev/mcp",
    "mcpTransport": "streamable-http",
    "mcpTool": "lens_jewelry_price_comparison",
    "registryIdentityProvider": "github",
    "registryIdentity": "tigerrun123",
    "registryPackageName": "github.tigerrun123.lens-a2a"
  },
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "description": "API key issued by Bruce. Send `Authorization: Bearer <key>`."
      },
      "description": "API key issued by Bruce. Send `Authorization: Bearer <key>`. Agent card is public; all RPC calls require the key."
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "securityRequirements": [
    {
      "schemes": {
        "bearer": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "image/png",
    "image/jpeg",
    "image/webp",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "lens-image-price-comparison",
      "name": "Lens image price comparison",
      "description": "Input: an image URL (text part containing an http(s) URL, or a file/url part). Optional (in message.metadata, params.metadata, or a data part): country (default 'au'), skip_shopping (bool), include_ebay (bool, default false; adds a SerpApi eBay search, labeled source 'ebay'). Output: text summary (中文+English) + data part {exact_match_count, stock_image_warning, price_range_aud, median, offers[top 20]}. Uses at most 3 SerpApi searches per request (Lens + Shopping + optional eBay); per-key daily quota applies.",
      "tags": [
        "jewelry",
        "price comparison",
        "google lens",
        "reverse image search",
        "shopping"
      ],
      "examples": [
        "https://example.com/ring.jpg",
        "Compare prices for this ring: https://example.com/ring.png (country nz)"
      ],
      "inputModes": [
        "text/plain",
        "image/png",
        "image/jpeg",
        "image/webp",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    }
  ]
}