A2A Agent Card Generator and Validator

An agent card is the JSON file an A2A agent publishes so other agents can find it, usually at /.well-known/agent-card.json. Under spec version 1.0 it must carry a name, description, version, supportedInterfaces, capabilities, default input and output modes, and a skills list. Build one here or paste yours to validate.

Required agent card fields in A2A 1.0 (as of October 2026)
FieldTypeHolds
name, description, versionstringWho the agent is and which release
supportedInterfacesarray of AgentInterfaceurl, protocolBinding, protocolVersion
capabilitiesobjectstreaming, pushNotifications, extendedAgentCard
defaultInputModes, defaultOutputModesarray of stringMedia types such as text/plain
skillsarray of AgentSkillid, name, description, tags

Updated

The A2A spec is long and has changed shape between versions: 0.3 cards put a single url and a protocolVersion at the top level, while 1.0 moves both into a supportedInterfaces list. Copying an old example is the most common way to publish a card that new clients reject. This page builds a 1.0 card from a form and checks pasted cards field by field, in your browser.

Build an agent card

Built and checked in this tab. Nothing is sent to a server.

Validate an agent card

Paste a card. It is checked against the required fields and types of A2A 1.0.

Serving the card

Any web server can publish the card as a static file. These two snippets show the path and the content type.

Express route

res.json sets Content-Type to application/json for you.

import card from "./agent-card.json" with { type: "json" };

app.get("/.well-known/agent-card.json", (req, res) => {
  res.json(card);
});

Fetching another agent's card

What a client does first when it only knows the domain.

curl -s https://agent.example.com/.well-known/agent-card.json | jq '.skills[].id'

What changed from 0.3 to 1.0

In 1.0, the endpoint moved into supportedInterfaces, a list where each entry pairs a URL with a protocolBinding and a protocolVersion. That lets one agent offer the same skills over JSON-RPC and gRPC at once. The validator flags a top-level url or protocolVersion as a sign the card was written for an older version.

Security also moved to named lists: securitySchemes describes how to authenticate, keyed by a name you choose, and securityRequirements lists which of those schemes a client must use.

What the validator checks

Every field the spec marks as required, the type of each value, that URL fields parse as absolute URLs (with a warning for plain HTTP), that each media type looks like type/subtype, and that skill ids are unique.

It does not fetch your endpoint or verify signatures, since a static page cannot reach your server or hold your keys. Treat a pass here as well-formed, not as proof the agent responds.

How it works

  1. Enter the agent's name, description and version, and the provider details if you want them shown.
  2. Add at least one interface: the endpoint URL, the binding (JSONRPC, GRPC or HTTP+JSON) and the protocol version.
  3. Tick the capabilities you support and add one or more skills with an id, name, description and tags.
  4. Copy or download the card and serve it at /.well-known/agent-card.json on your agent's domain, or paste an existing card into the validator.

Tips

  • Use HTTPS URLs. The spec says HTTP-based interface URLs must be absolute HTTPS URLs in production.
  • Write skill descriptions for another agent that is deciding whether to call you: say what goes in and what comes out.
  • Put your preferred interface first. The spec treats the first entry in supportedInterfaces as the preferred one.
  • Only set extendedAgentCard to true if you serve the authenticated extended card endpoint.

Frequently asked questions

Where do I host an A2A agent card?

The spec registers the well-known path /.well-known/agent-card.json, so a client that knows your domain can fetch https://your-domain/.well-known/agent-card.json. Cards can also be shared through registries or configured directly.

What is the current A2A spec version?

The specification site lists 1.0.0 as the latest release, after 0.3.0, 0.2.6 and 0.1.0. Interfaces declare the version they speak as Major.Minor, for example 1.0 or 0.3.

Which protocol bindings can an interface use?

The spec names three core bindings: JSONRPC, GRPC and HTTP+JSON. The field is an open string so new bindings can be added, which is why the validator warns rather than fails on other values.

What fields does a skill need?

Each skill needs an id, a name, a description and a tags array. Examples, inputModes, outputModes and securityRequirements are optional; skill-level modes override the card's defaults.

Is my card uploaded anywhere?

No. Building and validating both happen in this tab, and nothing is sent to a server.

Related: How to build an AI agent, What is an MCP server, AI agent vs agentic AI, MCP server directory, Claude skills builder.

Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.

More in Free Tools

Product

Who It's For

Features

Resources

Company

View Sitemap