agentic‑readiness docs
/
Scan at scale Blog Build one › Run a scan ›

DocsTrustA2A agent card

A2A agent card

Declares an agent this site operates, for agent-to-agent work.

adoption Early pilotstrend ▲ risingchecked once per sitechecks 10verified 2026-10-05
Build your A2A agent card today A valid /.well-known/agent-card.json describing your agent, its endpoint and what it can do.
Free Build your A2A agent card

Why an agent cares

A card is how another agent discovers what this site's agent can do and how to reach it. Crawlers already probe for the path, so a card published in the pre-1.0 shape is a live present-but-wrong surface.

Adoption

Early pilots. Named early adopters exist, behind flags or trials. Nothing has been independently measured yet. For this one in particular, standard inside enterprise agent platforms, still rare on the open web.

Direction of travel: ▲ rising, as at .

GA inside Microsoft, AWS and Google agent platforms with 150+ supporting organisations, but no verifiably identified public open-web card publisher. Crawler logs show agents requesting the path anyway.

AdopterDepthEvidence
Microsoft (Copilot Studio, Azure AI Foundry)default-onlinuxfoundation.org
AWS (Bedrock AgentCore Runtime)productionlinuxfoundation.org
Google (Gemini Enterprise)productiona2a-protocol.org
SAP, Salesforce, ServiceNow, Cisco, IBMannounceda2a-protocol.org

What we check

Absence is never a finding. Every check below runs only when this technology is detected, so a site that has not adopted this is not assessed on it and appears in no report. 10 of these 12 can fail it. In Lumar these appear once per site, in the site-wide results of each crawl.
CheckSeverityRaisesOn whose authority
Agent Card Invalid JSONhighconformance, usabilityspecification: A2A protocol specification
Agent Card Missing Fieldshighconformance, usabilityspecification: A2A protocol specification
Agent Card Endpoint Not A2Ahighusabilityspecification: A2A protocol specification
Agent Card Insecure Interfacehighusability, security (CWE-319)specification: A2A protocol specification
Agent Card Insecure Security Scheme URLhighusability, security (CWE-319)specification: A2A protocol specification, The OAuth 2.0 Authorization Framework, OpenID Connect Discovery 1.0, OAuth 2.0 Device Authorization Grant
Agent Card Deprecated OAuth Flowhighusability, security (CWE-522)specification: A2A protocol specification, Best Current Practice for OAuth 2.0 Security
Agent Card Invalid Signaturehighconformance, usabilityspecification: A2A protocol specification
A2A Known Test Keymediumusability, security (CWE-1394)Lumar readiness bar, beyond HTTP Message Signatures, CFRG Elliptic Curves for JOSE, JSON Web Key, JSON Web Signature, Examples of Protecting Content Using JOSE
agentCard HTTPS Downgrademediumusability, security (CWE-319)Lumar readiness bar
A2A Internal Endpointmediumusability, security (CWE-200)Lumar readiness bar
Agent Card Endpoint UnverifiedinformationalnothingLumar readiness bar, beyond A2A protocol specification
A2A Signing Keys Unassessedcoverage notenothingour own coverage

Examples

Both run through the same checks as a live scan: the first passes, the second is flagged.

correctjson
{
  "name": "Recipe Agent",
  "description": "An A2A agent that helps users with recipes and cooking.",
  "version": "1.0.0",
  "capabilities": {
    "streaming": true
  },
  "defaultInputModes": ["text/plain"],
  "defaultOutputModes": ["text/plain", "application/json"],
  "skills": [
    {
      "id": "find-recipe",
      "name": "Find a recipe",
      "description": "Finds recipes by ingredient.",
      "tags": ["recipes", "cooking"]
    }
  ],
  "supportedInterfaces": [
    {
      "url": "https://recipes.example/a2a/v1",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "securitySchemes": {
    "recipesOAuth": {
      "oauth2SecurityScheme": {
        "oauth2MetadataUrl": "https://auth.recipes.example/.well-known/oauth-authorization-server",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://auth.recipes.example/authorize",
            "tokenUrl": "https://auth.recipes.example/token",
            "scopes": {
              "recipes:read": "Read recipes"
            },
            "pkceRequired": true
          }
        }
      }
    }
  }
}
present but wrongjson
{
  "name": "Broken Agent",
  "description": "Served but missing A2A-required fields (no version/capabilities/modes/skills, no coherent endpoint), with a malformed signature, a plain-http endpoint, and a legacy OAuth scheme that offers the password flow over http.",
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiJ9"
    }
  ],
  "url": "http://broken-agent.example/a2a",
  "securitySchemes": {
    "legacy": {
      "type": "oauth2",
      "flows": {
        "password": {
          "tokenUrl": "http://auth.broken-agent.example/token",
          "scopes": {}
        }
      }
    }
  }
}

Specifications

DocumentRevisionKind
RFC 9421 — HTTP Message SignaturesPublished RFCspecification
RFC 8037 — CFRG Elliptic Curves for JOSEPublished RFCspecification
RFC 7517 — JSON Web KeyPublished RFCspecification
RFC 7515 — JSON Web SignaturePublished RFCspecification
RFC 7520 — Examples of Protecting Content Using JOSEPublished RFCspecification
A2A protocol specificationVersion 1.0.1specification
RFC 6749 — The OAuth 2.0 Authorization FrameworkPublished RFCspecification
RFC 9700 — Best Current Practice for OAuth 2.0 SecurityPublished RFCspecification
OpenID Connect Discovery 1.0Version 1.0specification
RFC 8628 — OAuth 2.0 Device Authorization GrantPublished RFCspecification

Last re-read against the published documents: .