Agent Card generator
Fill in a form and get an A2A v1.0 Agent Card ready to publish, plus a legacy v0.3 card for older clients and an optional AI Catalog that lists your card.
By Emissar. Updated .
Your card
These act on the selected tab. Check it with the validator sends that card to Emissar's Agent Card validator and opens the result in a new tab. Pasted cards are kept for 24 hours with their result so the link works, so leave secrets out. The validator checks cards only, so the AI Catalog tab has no check button.
Publish at /.well-known/agent-card.json, served as application/json.
Legacy, and only useful if your server also speaks A2A v0.3. Keep the v1.0 card at /.well-known/agent-card.json, where v1.0 and v0.3.0 clients both look; Emissar publishes its legacy card at /.well-known/agent.json, the path used before v0.3.
Optional. Publish at /.well-known/ai-catalog.json, served as application/ai-catalog+json, on the site that serves the v1.0 card. It lists the card for clients that look for an AI Catalog, the discovery file A2A is considering as its preferred path. To check it once it's live, run the agent readiness scanner on your site.
Separate with commas.
What it writes
The v1.0 card follows the released A2A v1.0 specification and its normative data model, a2a.proto, with fields in the proto's order and optional fields left out when they're blank.
| Field | What the generator does | Source |
|---|---|---|
name, description, version | Required. The version is your agent's own version, not the protocol's. | §4.4.1 |
supportedInterfaces | One entry per endpoint: url, protocolBinding (JSONRPC, GRPC or HTTP+JSON) and protocolVersion 1.0. The first entry is the preferred one. | §4.4.6 |
provider | organization and url. Added only when both are filled in. | §4.4.2 |
capabilities | streaming, pushNotifications and extendedAgentCard, always written out as true or false. | §4.4.3 |
defaultInputModes, defaultOutputModes | Media types such as text/plain or application/json. | §4.4.1 |
skills | id, name, description and tags are required; examples are optional. A blank id becomes a slug of the name. | §4.4.5 |
documentationUrl, iconUrl | Optional https URLs. | §4.4.1 |
ai-catalog.json (optional) | specVersion 1.0, a host with your organization's name and site, and one entry for the v1.0 card: an identifier (urn:air:your site:a2a:a slug of the agent's name), its type and its URL. The card's name, description and version aren't repeated. | AI Catalog §4.2-4.4 |
How it works
- The card is rebuilt in your browser on every keystroke. The list above the card flags anything the validator would fail, such as a missing required field, an http:// URL or two skills with the same id.
- gRPC interfaces accept either an https URL or the
host:portform the proto describes. The other bindings need an absolute https URL. - The legacy tab builds an A2A v0.3 card from the same answers: the first https interface becomes
urlandpreferredTransport, every interface goes intoadditionalInterfaceswhen there is more than one, and Extended Agent Card becomessupportsAuthenticatedExtendedCard. ItsprotocolVersionis 0.3.0. - Check it with the validator runs the full rule set of the Agent Card validator, the same one that checks published cards. An unsigned card gets one warning there, because signing is optional.
- The AI Catalog tab lists the v1.0 card at
https://your site/.well-known/agent-card.json. The site is the one you type there, or else the host of your provider URL, or else the host of your first https endpoint. The entry leaves the agent's name, description and version to the card, because the specification says an entry should not repeat what the artifact already carries. The catalog meets the specification's Level 2 (Discoverable).
Limitations
- It doesn't write
securitySchemes,securityRequirements, extensions, per-skill media types, tenants or signatures. Add those by hand, then check the card again. - It can't tell whether your endpoints exist or answer A2A calls. It only builds the card that describes them.
- Every interface is written with protocolVersion 1.0. If a URL serves only v0.3, describe it in the legacy card instead.
- The AI Catalog lists one agent. To list more agents, MCP servers or skills, add entries by hand: each needs an identifier, a type and exactly one of url or data. AI Catalog is a draft, and A2A hasn't adopted it yet.
Privacy
The generator runs in your browser; nothing is sent. What you type isn't stored, not even in your browser, so it's gone when you leave the page.
The one exception is Check it with the validator. It sends the card to Emissar's validator, which keeps the card and its result under a random id for 24 hours so the result link works, then deletes both automatically. Anyone with the link can open it until then. As with any page on this site, Cloudflare processes your IP address to deliver and protect it. Details are in the trust center and the privacy policy.
Related
- Agent Cards explained: fields, discovery, and caching
- Publish your first Agent Card
- Build an A2A server on Cloudflare Workers
- Agent Card validator: check a published card, including its HTTP headers and signatures
- .well-known generator: a minimal agent-card.json with security.txt and llms.txt