AgentCard
The AgentCard describes your agent's capabilities.
Location
Serve at: /.well-known/agent.json
Schema
{
"name": "My Agent",
"description": "What my agent does",
"url": "https://my-agent.example.com",
"provider": {
"organization": "My Company",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": false,
"pushNotifications": false
},
"skills": [
{
"id": "main",
"name": "Main Skill",
"description": "What this skill does",
"inputModes": ["text"],
"outputModes": ["text"],
"examples": [
"example input 1",
"example input 2"
]
}
],
"authentication": {
"schemes": ["bearer"]
}
}
Fields
Required
| Field | Type | Description |
|---|---|---|
name | string | Human-readable name |
description | string | What the agent does |
url | string | Agent's URL |
Optional
| Field | Type | Description |
|---|---|---|
provider | object | Organization info |
version | string | Semantic version |
capabilities | object | Supported features |
skills | array | Agent's capabilities |
authentication | object | Auth requirements |
Skills
Each skill describes something the agent can do:
{
"id": "search",
"name": "Web Search",
"description": "Search the web for information",
"inputModes": ["text"],
"outputModes": ["text", "file"],
"examples": [
"search for AI news",
"find restaurants near me"
]
}
Input/Output Modes
text— Plain textfile— Files (images, documents)data— Structured data
Capabilities
{
"streaming": true, // Supports SSE streaming
"pushNotifications": true // Supports webhooks
}
Authentication
{
"schemes": ["bearer", "apiKey"]
}
Supported schemes:
bearer— Bearer tokenapiKey— API key in headeroauth2— OAuth 2.0