Skip to content
HUMAPS
Independent guide · reviewed 2 Aug 2026

The A2A
Field Guide.

From first handshake to finished task. A practical, visual guide to the open protocol that lets independent AI agents discover, coordinate and deliver work—without exposing how they think.

A2A
open protocol
Client agent
Remote agent
Artifacts
message
1.0.1current release
3standard bindings
6official SDKs
150+ecosystem organizations
The protocol in one pass

Five moves. One shared language.

A2A standardizes the boundary between agents. It says how to advertise capability, exchange typed content, manage work over time and report results—not how either agent must be built.

Follow the wire
01 · Agent Card

Discover

Fetch the public Agent Card. It declares identity, skills, interfaces, media types, authentication and optional extensions.

GET https://api.civensia.com/.well-known/agent-card.json
The mental model

A contract for collaboration—not cognition.

Think of A2A as a professional hand-off between two capable teams. Each team stays autonomous; the contract makes the hand-off observable and interoperable.

01

Agent Card

A public, machine-readable résumé: identity, interfaces, skills, media types, security and extensions.

02

Message

A turn in the conversation, with a user or agent role and one or more typed parts.

03

Task

A stateful unit of work with an ID, context, status, history and optional artifacts.

04

Part

The atomic content unit: text, URL, raw bytes or structured data. In v1, the populated member is the discriminator.

05

Artifact

A durable result of the work: a report, dataset, map, file or any ordered collection of parts.

06

Interface

A concrete URL plus binding and version. JSON-RPC, gRPC and HTTP+JSON are standard bindings.

A2A

Who can do this work?

  • Remote agent discovery
  • Delegation and collaboration
  • Tasks, status and artifacts
  • Long-running and multi-turn work
MCP

Which tools and context can I use?

  • Tool and resource discovery
  • Structured tool invocation
  • Prompts and contextual resources
  • Agent-to-environment connectivity

Use both: an orchestrator can delegate a specialist task over A2A; that specialist can use MCP internally to reach databases, files and tools.

State is a feature

Work can pause without getting lost.

A short answer may return as a Message. Anything that needs identity, progress, resumption or delivery over time becomes a Task.

TASK_STATE_SUBMITTED

The task is active. Observe it through SSE, polling or a push notification configuration.

Request / response

SendMessage for work that can complete inside one HTTP exchange.

Live stream

SendStreamingMessage or SubscribeToTask over server-sent events.

Push later

Register a secured webhook for disconnected or long-running clients.

The v1 operation set

Eleven verbs cover the full lifecycle.

JSON-RPC names shown
01SendMessage
02SendStreamingMessage
03GetTask
04ListTasks
05CancelTask
06SubscribeToTask
07CreateTaskPushNotificationConfig
08GetTaskPushNotificationConfig
09ListTaskPushNotificationConfigs
10DeleteTaskPushNotificationConfig
11GetExtendedAgentCard
A2A 1.0 → 1.0.1

The protocol grew up.

Version 1.0 made interoperability stricter and security more explicit. The 1.0.1 maintenance release tightened media types, task-state definitions and error transcoding.

Apr 2025

Protocol introduced

Google and more than 50 launch partners publish A2A as an open interoperability protocol.

Jun 2025

Linux Foundation

Google donates the project to neutral governance under the Linux Foundation.

Mar 2026

A2A 1.0

The protobuf becomes normative; signed cards, multi-tenancy and three standard bindings land.

May 2026

A2A 1.0.1

The maintenance release aligns media types, task states and error transcoding.

One normative model

a2a.proto is the universal source of truth; JSON follows ProtoJSON naming and enum rules.

Verifiable discovery

Agent Cards can be signed using JCS canonicalization and JWS, with key material resolved out of band.

Explicit negotiation

A2A-Version and A2A-Extensions make compatibility and opt-in behavior visible on the wire.

Multi-tenancy

Tasks and requests can carry tenant context while authorization remains an application responsibility.

Modern authentication

mTLS and OAuth device-code support join API keys, bearer tokens and familiar OAuth flows.

List and operate

ListTasks and the canonical CamelCase operation names round out task management.

Migration note. v1 removes legacy kind discriminators, uses ROLE_USER / ROLE_AGENT and TASK_STATE_* enums, and moves protocol choices into supportedInterfaces[]. During migration, dual 0.3 + 1.0 support is the safest compatibility path.
Official SDK coverage

Start from maintained protocol types instead of hand-rolling every wire object.

PythonJavaScriptJavaGo.NETRust
Production security

Treat every remote agent as untrusted.

Interoperability expands the trust boundary. A compliant wire format is not a trust decision: authenticate identity, authorize each action and validate every returned value.

Transport and identity

Use HTTPS in production; TLS 1.3 is recommended. Validate server certificates and verify signed Agent Cards before trusting discovered metadata.

Credentials out of band

The card declares acceptable schemes; credentials are acquired separately. Never place secrets in messages, parts, task metadata or Agent Cards.

Authorization per resource

Check tenant, organization, task and skill access on every operation. Possessing a task ID must never grant access by itself.

Content is input

Sanitize card text, messages, URLs, files and structured data before rendering or feeding it to a model. Defend against prompt injection and unsafe URLs.

Push-notification checklist
Validate callback URLs and block private-network SSRF.Authenticate every callback and rotate tokens.Use unpredictable config IDs and replay protection.Treat notification payloads as a signal; refetch state securely.
A production example

Meet Atlas over A2A.

Atlas by Humaps exposes verifiable public-intelligence research as an A2A v1.0 service, with v0.3 compatibility for existing clients.

A2A v1.0.1
Signed Agent Card
Streaming + push
v0.3 compatibility
Request builder
curl -X POST https://api.civensia.com/api/a2a \
  -H "A2A-Version: 1.0" \
  -H "Content-Type: application/a2a+json" \
  -H "X-Atlas-API-Key: $ATLAS_API_KEY" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "SendMessage",
  "params": {
    "message": {
      "messageId": "message-1",
      "role": "ROLE_USER",
      "parts": [
        {
          "text": "Compare population growth in Amsterdam and Rotterdam since 2015, using official sources."
        }
      ]
    }
  }
}'
Discovery endpoints
Agent Card
/.well-known/agent-card.json
Skill catalog
/api/a2a/skills
Skill detail
/api/a2a/skills/{id}/detail
JSON-RPC
/api/a2a
Humaps execution modes

Deterministic when possible. Agentic when useful.

This is a Humaps extension, not part of the core A2A specification. Pass a stable skill ID and choose a mode, or omit both and let Atlas route the natural-language task.

Direct

No LLM

Strict schema, one declared connector, deterministic response. Available on supported skills and free within direct-mode limits.

Agentic

Reasoning

Natural language, planning and multi-tool synthesis. Plan-gated and metered by usage units.

Artifact privacy: ordinary A2A artifacts are returned inline to the authenticated caller. They are not automatically published. A share or embed URL exists only after an explicit publication action, and live event streams stay access-controlled.
Practical answers

Questions teams ask before shipping.

The protocol is intentionally small. The hard production questions live at the edges: trust, lifecycle, compatibility and choosing the right boundary.

No. MCP connects an AI application to tools, resources and context. A2A connects one autonomous agent to another agent and gives that collaboration a discoverable identity, task lifecycle and delivery model. A common architecture uses both.

Ready to connect?

Give your agent a public-intelligence specialist.