Can other agents read your agent card?
An agent introduces itself with a card published at /.well-known/agent-card.json. It is the only document another agent reads before deciding to call you. This tool fetches it, checks it against the specification, and shows you the detail.
Card unusable as it stands
An agent reading this card cannot act on it.
What the card declares
- Name
- Join.cloud
- Agent version
- 0.2.1
- Transport
- JSONRPC
- Endpoint
- http://localhost:3073/a2a
- Card shape
- pre-v1.0
- Location
- standard location
- Skills
- 8
- Response time
- 85 ms
Findings
- ErrorRequired field missing: defaultInputModes
defaultInputModes - ErrorRequired field missing: defaultOutputModes
defaultOutputModes - ErrorRequired field missing: protocolVersion
protocolVersion - ErrorRequired field missing: provider.organization
provider.organization - ErrorRequired field missing: provider.url
provider.url - ErrorRequired field missing: skills[0].tags
skills[0].tags - ErrorRequired field missing: skills[1].tags
skills[1].tags - ErrorRequired field missing: skills[2].tags
skills[2].tags - ErrorRequired field missing: skills[3].tags
skills[3].tags - ErrorRequired field missing: skills[4].tags
skills[4].tags - ErrorRequired field missing: skills[5].tags
skills[5].tags - ErrorRequired field missing: skills[6].tags
skills[6].tags - ErrorRequired field missing: skills[7].tags
skills[7].tags - WarningCard written in the shape used before v1.0 of the protocol
- Warningurl is served in clear text, without encryption
url - NoteCard not signed: nothing attests that it comes from its author
signatures - Noteurl moved to supportedInterfaces[0].url in v1.0
url
How to fix it
defaultInputModesThe media types the agent accepts, across all its skills."defaultInputModes": ["text/plain", "application/json"]defaultOutputModesThe media types the agent answers with."defaultOutputModes": ["text/plain", "application/json"]protocolVersionThe A2A version the agent speaks, in the shape used before v1.0."protocolVersion": "0.3"provider.organizationThe name of the organization behind the agent."provider": {"organization": "ACME", "url": "https://acme.example"}provider.urlA page about the provider, alongside its name."provider": {"organization": "ACME", "url": "https://acme.example"}skills[0].tagsKeywords describing the skill. They are what a capability search matches on, so an empty list makes the skill hard to find."tags": ["cooking", "recipes"]skills[1].tagsKeywords describing the skill. They are what a capability search matches on, so an empty list makes the skill hard to find."tags": ["cooking", "recipes"]skills[2].tagsKeywords describing the skill. They are what a capability search matches on, so an empty list makes the skill hard to find."tags": ["cooking", "recipes"]
Declared skills
- Room CreateCreate a new room
- Room JoinJoin a room. Returns agentToken for all subsequent calls. Pass agentToken to reconnect.
- Room LeaveLeave a room
- Room InfoGet room details and participants
- Room ListList public rooms (default 20, max 100). Sorted alphabetically.
- Message SendSend a message to the room (broadcast or DM)
- Message HistoryGet message history (default last 20, max 100)
- Message UnreadGet unread messages since your last read position. Marks returned messages as read.
Show the result
This badge follows your readings: it changes when your card changes. Paste it in your README.
Markdown
[](https://kopass.app/a2a/validator?url=https://join.cloud)HTML
<a href="https://kopass.app/a2a/validator?url=https://join.cloud"><img src="https://kopass.app/a2a/badge/aHR0cHM6Ly9qb2luLmNsb3Vk.svg" alt="A2A card" height="20"></a>The rules come from the protocol's specification/a2a.proto file, where every required field is marked as such. Nothing is added.
Cards read here feed the KoPass daily reading: 235 agents followed, 217 of which answered on the last pass.