Skip to content

agent

A2A v1.0 Agent Metadata Types

Complete AgentCard redesign per A2A Protocol v1.0.0 specification.

Agent Skill (v1.0)

Fields

FieldTypeDescription
idString
nameString
descriptionString
tagsOption<Vec<String>>
examplesOption<Vec<String>>
input_modesOption<Vec<String>>
output_modesOption<Vec<String>>
security_requirementsOption<Vec<SecurityRequirement>>

Methods

fn with_examples(self, examples: Vec<String>) -> Self
fn with_example<impl Into<String>>(self, example: impl Into) -> Self
fn with_tags(self, tags: Vec<String>) -> Self
fn supports_json_input(&self) -> bool

Agent Interface (v1.0) — how to reach this agent.

Fields

FieldTypeDescription
urlString
protocol_bindingString
tenantOption&lt;String&gt;
protocol_versionOption&lt;String&gt;

Agent Capabilities (v1.0)

Fields

FieldTypeDescription
streamingbool
push_notificationsbool
extensionsOption&lt;Vec&lt;AgentExtension&gt;&gt;
extended_agent_cardbool

Agent Extension (v1.0)

Fields

FieldTypeDescription
uriString
descriptionOption&lt;String&gt;
requiredbool
paramsOption&lt;serde_json::Value&gt;

Agent Provider (v1.0)

Fields

FieldTypeDescription
urlOption&lt;String&gt;
organizationString

JWS signature for agent card integrity.

Fields

FieldTypeDescription
protectedString
signatureString
headerOption&lt;serde_json::Value&gt;

Agent Card — v1.0 top-level metadata object.

Fields

FieldTypeDescription
nameString
descriptionOption&lt;String&gt;
versionOption&lt;String&gt;
supported_interfacesOption&lt;Vec&lt;AgentInterface&gt;&gt;
capabilitiesOption&lt;AgentCapabilities&gt;
skillsVec&lt;AgentSkill&gt;
default_input_modesOption&lt;Vec&lt;String&gt;&gt;
default_output_modesOption&lt;Vec&lt;String&gt;&gt;
security_schemesOption&lt;HashMap&lt;String, SecurityScheme&gt;&gt;
security_requirementsOption&lt;Vec&lt;SecurityRequirement&gt;&gt;
signaturesOption&lt;Vec&lt;AgentCardSignature&gt;&gt;
icon_urlOption&lt;String&gt;
providerOption&lt;AgentProvider&gt;
documentation_urlOption&lt;String&gt;
metadataOption&lt;HashMap&lt;String, serde_json::Value&gt;&gt;

Methods

fn new<impl Into<String>>(name: impl Into) -> Self

Minimal card with just a name.

fn with_capability<impl Into<String>, impl Into<String>>(self, method: impl Into, description: impl Into) -> Self

Register a method capability on this agent card.

Stores the method name and description in the card’s pf:methods metadata map. Used by A2AProtocol::register_method to keep the agent card in sync with the method registry.

fn supports_method(&self, method: &str) -> bool
fn get_method_description(&self, method: &str) -> Option<String>
fn add_skill(self, skill: AgentSkill) -> Self
fn get_skill(&self, skill_id: &str) -> Option<&AgentSkill>
fn get_skills_by_input_mode(&self, input_mode: &str) -> Vec<&AgentSkill>
fn supports_structured_skills(&self) -> bool