Skip to main content
This section covers the foundational technical concepts for building any AdCP implementation - whether you’re building a client, a server, or an orchestrator.

Choose Your Protocol

MCP Guide

For Claude, AI assistants, and MCP-compatible tools. Tool-based, request/response pattern.

A2A Guide

For Google AI agents and A2A workflows. Task-based, message/artifact pattern with SSE streaming.
Not sure which to choose? See Protocol Comparison.

Core Concepts

Authentication

How to authenticate with AdCP agents. Bearer tokens, agents, and accounts.

Context & Sessions

Managing conversation state with context_id vs task_id. Extension fields and opaque context.

Schemas and SDKs

Access schemas and official client libraries for JavaScript and Python.

Getting Started

1. Choose a Protocol

  • MCP for tool-based integrations (Claude, MCP-compatible systems)
  • A2A for task-based integrations (Google AI, agent-to-agent workflows)

2. Understand Authentication

  • How agents and accounts are identified
  • Bearer token patterns
  • See Authentication

3. Handle Context

  • context_id for conversation continuity
  • task_id for tracking async operations
  • See Context & Sessions

What Both Protocols Provide

Regardless of protocol choice, you get:
FeatureSupport
All AdCP tasksSame tasks, same capabilities
Unified status systemcompleted, working, input-required, failed, etc.
Context managementSession continuity across requests
Async operationsLong-running tasks with webhooks or polling
Human-in-the-loopApproval workflows for sensitive operations
Error handlingConsistent error codes and recovery patterns

Next Steps