Skip to content
Back to Loppee

Card snapshot

a2a.loppee.com · 2026-10-24 15:41:24 UTC · 83101fc2d7e09557acd86d1c1d0317c8841919d8ddbdb0fa85122db98ceab1d8

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Loppee",
  "description": "Loppee finds and compares US local businesses using its existing public business, trust and review authority. Verified, Listed and Registry disclosures and Sponsored handling are preserved. Read-only v1; no contact, booking, payment or review submission.",
  "supportedInterfaces": [
    {
      "url": "https://a2a.loppee.com/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "url": "https://loppee.com",
    "organization": "Loppee Inc"
  },
  "version": "1.0.0",
  "documentationUrl": "https://loppee.com/developers",
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "LoppeeOAuth": {
      "oauth2SecurityScheme": {
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://a2a.loppee.com/oauth/auth",
            "tokenUrl": "https://a2a.loppee.com/oauth/token",
            "scopes": {
              "loppee:businesses:read": "Read public Loppee businesses, Trust Cards, comparisons and reviews.",
              "loppee:location:read": "Use an existing explicitly authorized, short-lived location handoff; never return coordinates."
            }
          }
        }
      }
    },
    "LoppeeOAuthBearer": {
      "httpAuthSecurityScheme": {
        "description": "Loppee OAuth signature, exact A2A resource audience, live grant and existing read-scope checks. A token minted only for /mcp is invalid here. Issuance of the A2A resource is a separate release decision.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "TaskSession": {
      "apiKeySecurityScheme": {
        "description": "Ephemeral anonymous task ownership capability returned on the first request. It grants no business, location, account or OAuth authority. Keep it private for get/list/cancel/subscribe/continuation.",
        "location": "header",
        "name": "X-Loppee-A2A-Session"
      }
    }
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "find_businesses",
      "name": "find_businesses",
      "description": "Find businesses through Loppee\u2019s shared public search. Anonymous exact/prefix name lookup accepts optional registered city/state as coarse organic disambiguation, never precise-location, distance, commercial or device authority. A timed-out public name read may retry once: first attempt at most 5 seconds, whole turn at most 9 seconds. SERVICE/CATEGORY SEARCH NEAR A PLACE: provide a precise location you choose, either coordinates (lat and lng, optional accuracy_meters 0-500) or one full US street address; a city or state alone is too coarse and returns INPUT_REQUIRED with these instructions (by design, not an error). The location needs no account, OAuth or device permission; it is used only for that read\u2019s organic reach, is never returned or stored, and grants no Sponsored or commercial authority. Results keep binary Verified/Listed and Registry disclosures and existing Sponsored labels; no numeric trust score. Returns original search rows; optional full Trust Cards are deferred when the read budget is tight and remain available via get_trust_card. Accepted structured arguments (JSON Schema): {\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160},\"q\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160},\"category\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160},\"city\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":80},\"state\":{\"type\":\"string\",\"pattern\":\"^[A-Za-z]{2}$\"},\"lat\":{\"type\":\"number\",\"minimum\":-90,\"maximum\":90},\"lng\":{\"type\":\"number\",\"minimum\":-180,\"maximum\":180},\"accuracy_meters\":{\"type\":\"number\",\"minimum\":0,\"maximum\":500},\"address\":{\"type\":\"string\",\"minLength\":5,\"maxLength\":280},\"location_confidence\":{\"type\":\"string\",\"enum\":[\"precise\",\"coarse\"]},\"intent\":{\"type\":\"string\",\"enum\":[\"name\",\"category\",\"auto\"]},\"location_handoff_id\":{\"type\":\"string\",\"format\":\"uuid\",\"pattern\":\"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$\"},\"location_selection\":{\"type\":\"string\",\"enum\":[\"current\",\"destination\",\"provided\"]},\"cursor\":{\"type\":\"string\",\"maxLength\":1024},\"limit\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":5}},\"additionalProperties\":false}",
      "tags": [
        "read-only",
        "local-businesses"
      ],
      "examples": [
        "Find ZENSHI Handcrafted Sushi in Jacksonville, FL",
        "{\"skill\":\"find_businesses\",\"arguments\":{\"name\":\"ZENSHI\",\"city\":\"Jacksonville\",\"state\":\"FL\",\"limit\":5}}",
        "find HVAC near 30.3292,-81.6569",
        "{\"skill\":\"find_businesses\",\"arguments\":{\"category\":\"HVAC\",\"lat\":30.3292,\"lng\":-81.6569,\"accuracy_meters\":25,\"limit\":5}}",
        "find a plumber near 123 Main St, Jacksonville, FL 32217"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "compare_businesses",
      "name": "compare_businesses",
      "description": "Compare known business IDs, or two uniquely resolved published business names, through the existing MCP comparison. A single full exact name takes precedence over prefix/fuzzy candidates; distinct same-name businesses require clarification. Named reads may retry once, within 5 seconds per attempt and 9 seconds total; ID-only reads do not retry. Accepted structured arguments (JSON Schema): {\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"business_ids\":{\"minItems\":2,\"maxItems\":5,\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160,\"pattern\":\"^[a-zA-Z0-9_-]+$\"}},\"business_names\":{\"minItems\":2,\"maxItems\":2,\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160}},\"city\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":80},\"state\":{\"type\":\"string\",\"pattern\":\"^[A-Za-z]{2}$\"}},\"additionalProperties\":false}",
      "tags": [
        "read-only",
        "local-businesses"
      ],
      "examples": [
        "compare Elite AC LLC and Money Pages",
        "{\"skill\":\"compare_businesses\",\"arguments\":{\"business_ids\":[\"business_a\",\"business_b\"]}}"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_trust_card",
      "name": "get_trust_card",
      "description": "Return the existing MCP public Trust Card JSON by ID or uniquely resolved published name. Is X verified? reads this card, without inventing facts, scores or verification. A single full exact name takes precedence over prefix/fuzzy candidates; distinct same-name businesses require clarification. Named reads may retry once, within 5 seconds per attempt and 9 seconds total. Accepted structured arguments (JSON Schema): {\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"business_id\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160,\"pattern\":\"^[a-zA-Z0-9_-]+$\"},\"name\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160},\"city\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":80},\"state\":{\"type\":\"string\",\"pattern\":\"^[A-Za-z]{2}$\"},\"domain_key\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160,\"pattern\":\"^[a-zA-Z0-9_-]+$\"}},\"additionalProperties\":false}",
      "tags": [
        "read-only",
        "local-businesses"
      ],
      "examples": [
        "is Elite AC LLC verified?",
        "{\"skill\":\"get_trust_card\",\"arguments\":{\"business_id\":\"business_a\"}}"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_business_reviews",
      "name": "get_business_reviews",
      "description": "Read existing MCP public reviews and pagination verbatim by ID or uniquely resolved published name. A single full exact name takes precedence over prefix/fuzzy candidates; distinct same-name businesses require clarification. Named reads may retry once, within 5 seconds per attempt and 9 seconds total. Does not submit, change or moderate a review. Accepted structured arguments (JSON Schema): {\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"business_id\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160,\"pattern\":\"^[a-zA-Z0-9_-]+$\"},\"name\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":160},\"city\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":80},\"state\":{\"type\":\"string\",\"pattern\":\"^[A-Za-z]{2}$\"},\"page\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":100},\"limit\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":20},\"ratings\":{\"maxItems\":5,\"type\":\"array\",\"items\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":5}}},\"additionalProperties\":false}",
      "tags": [
        "read-only",
        "local-businesses"
      ],
      "examples": [
        "reviews for Elite AC LLC",
        "{\"skill\":\"get_business_reviews\",\"arguments\":{\"business_id\":\"business_a\",\"limit\":5}}"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    }
  ],
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImEyYS1jYXJkLTIwMjYxMDIzLWRlZWM1MTVlIiwidHlwIjoiSk9TRSIsImprdSI6Imh0dHBzOi8vYTJhLmxvcHBlZS5jb20vLndlbGwta25vd24vYTJhLWNhcmQtandrcy5qc29uIn0",
      "signature": "6aSpNdteyM_ylmt9wrr7K_6TprBcSp1_tgKwdqHy_GJ4KtMlpKNy9BnRmlPOSb3CH_3VLhEky5UlACTZ5Q-icg"
    }
  ]
}