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.
| Field | Type | Holds |
|---|---|---|
| name, description, version | string | Who the agent is and which release |
| supportedInterfaces | array of AgentInterface | url, protocolBinding, protocolVersion |
| capabilities | object | streaming, pushNotifications, extendedAgentCard |
| defaultInputModes, defaultOutputModes | array of string | Media types such as text/plain |
| skills | array of AgentSkill | id, 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
- Enter the agent's name, description and version, and the provider details if you want them shown.
- Add at least one interface: the endpoint URL, the binding (JSONRPC, GRPC or HTTP+JSON) and the protocol version.
- Tick the capabilities you support and add one or more skills with an id, name, description and tags.
- 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
- Landing Page A/B Test Calculator
- Free Accessibility Statement Generator & Template
- Accessible Color Palette Generator
- Ad Budget Calculator
- Ad Copy Generator
- Add to Calendar Link Generator
- Affiliate Disclosure Generator: Plain Words, Right Next to the Link
- Agency Website Pricing Calculator | How Much to Charge Clients
Product
Who It's For
- For Agencies
- For Freelancers
- For Hosting Providers
- For SaaS Platforms
- For Startups
- For Financial Services
- For Healthcare
Features
Resources
- Blog
- Help Center
- Free Business Tools
- Free UI Components
- Website Templates
- Template Collections
- Website Examples
- Guides
- Comparisons
- Alternatives
- Best Lists
- Reviews
- Pricing Guides
- Use Cases
- Glossary & Guides
- Integrations
- Developers
- Benchmark
- Windows App