Skip to main content

Agent Card Configuration

Configure your agent's public metadata for Agent-to-Agent (A2A) communication and service discovery.

Overview

The agent card provides standardized metadata about your agent's capabilities, allowing other agents and services to discover and interact with your agent programmatically.

Learn more about Agent-to-Agent communication: A2A: A new era of agent interoperability

Configuration

agentCard:
name: "My Saiki Agent"
description: "A helpful AI assistant with specialized capabilities"
url: "https://my-agent.example.com"
version: "1.0.0"
documentationUrl: "https://docs.example.com/my-agent"
provider:
organization: "My Company"
url: "https://mycompany.com"
capabilities:
streaming: true
pushNotifications: false
stateTransitionHistory: false
authentication:
schemes: ["bearer", "apiKey"]
credentials: "optional"
defaultInputModes: ["application/json", "text/plain"]
defaultOutputModes: ["application/json", "text/plain"]
skills:
- id: "data_analysis"
name: "Data Analysis"
description: "Analyze and visualize data from various sources"
tags: ["analytics", "data", "visualization"]
examples: ["Analyze sales data", "Create charts from CSV"]

Required Fields

name

  • Type: String
  • Description: Display name for your agent

url

  • Type: String (URL)
  • Description: Public endpoint where your agent can be accessed

version

  • Type: String
  • Description: Version identifier for your agent

Optional Fields

description

  • Type: String
  • Default: "Saiki is an AI assistant capable of chat and task delegation, accessible via multiple protocols."
  • Description: Brief description of your agent's capabilities

documentationUrl

  • Type: String (URL)
  • Description: Link to your agent's documentation

provider

  • Type: Object
  • Description: Information about the organization providing this agent
provider:
organization: "Your Organization Name"
url: "https://yourorganization.com"

capabilities

  • Type: Object
  • Description: Technical capabilities your agent supports
capabilities:
streaming: true # Supports real-time streaming responses
pushNotifications: false # Can send push notifications
stateTransitionHistory: false # Maintains state transition history

authentication

  • Type: Object
  • Description: Supported authentication methods
authentication:
schemes: ["bearer", "apiKey"] # Supported auth schemes
credentials: "optional" # Credential requirements

defaultInputModes

  • Type: Array of strings
  • Default: ["application/json", "text/plain"]
  • Description: Content types your agent accepts

defaultOutputModes

  • Type: Array of strings
  • Default: ["application/json", "text/event-stream", "text/plain"]
  • Description: Content types your agent can produce

skills

  • Type: Array of skill objects
  • Description: Specific capabilities your agent provides
skills:
- id: "unique_skill_id"
name: "Human-readable skill name"
description: "What this skill does"
tags: ["category", "keywords"]
examples: ["Example usage 1", "Example usage 2"]
inputModes: ["text/plain"] # Optional, defaults to ["text/plain"]
outputModes: ["application/json"] # Optional, defaults to ["text/plain"]

Examples

Basic Agent Card

agentCard:
name: "Support Bot"
description: "Customer support assistant"
url: "https://support.mycompany.com/agent"
version: "2.1.0"
agentCard:
name: "Analytics Assistant"
description: "Advanced data analysis and visualization agent"
url: "https://analytics.mycompany.com"
version: "3.0.0"
documentationUrl: "https://docs.mycompany.com/analytics-agent"
provider:
organization: "Data Insights Corp"
url: "https://datainsights.com"
capabilities:
streaming: true
pushNotifications: true
stateTransitionHistory: true
authentication:
schemes: ["bearer", "oauth2"]
credentials: "required"
defaultInputModes: ["application/json", "text/csv", "application/xml"]
defaultOutputModes: ["application/json", "image/png", "text/html"]
skills:
- id: "csv_analysis"
name: "CSV Analysis"
description: "Parse and analyze CSV data files"
tags: ["data", "csv", "analysis"]
examples: ["Analyze sales data CSV", "Generate summary statistics"]
inputModes: ["text/csv", "text/plain"]
outputModes: ["application/json", "text/html"]
- id: "chart_generation"
name: "Chart Generation"
description: "Create visualizations from data"
tags: ["visualization", "charts", "graphs"]
examples: ["Create bar chart", "Generate trend analysis"]
inputModes: ["application/json"]
outputModes: ["image/png", "image/svg+xml"]

Agent-to-Agent Communication

The agent card enables:

  • Service Discovery: Other agents can find and understand your agent's capabilities
  • Protocol Negotiation: Automatic selection of compatible input/output formats
  • Capability Matching: Agents can determine if your agent can help with specific tasks
  • Authentication: Proper setup of secure agent-to-agent communication

Default Behavior

If no agent card is specified, Saiki will generate basic metadata based on your configuration. For A2A communication, it's recommended to configure your agent card explicitly.