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.
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.
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.
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 |
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.
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.
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