Agent Session Protocol

ASP vs ACP, MCP, A2A & OpenTelemetry

Where durable session history fits in the agent protocol ecosystem

These technologies solve different layers of an agent system. They are usually complementary, not competing.

technologyprimary responsibilityuse it when you need
ASPdurable session identity, events, fidelity, replay, and migrationa portable source of truth for what an agent session contained
ACPlive editor↔agent interactionprompts, streaming updates, tool calls, and control during an active session
MCPcontext and tool exchangea standard way for a model or agent to discover and invoke external capabilities
A2Aagent↔agent task coordinationagents to delegate work and exchange task status or artifacts
OpenTelemetry GenAIoperational telemetrytraces, metrics, and logs for observing a running system

ASP stores the history that must survive after a process or transport ends. ACP, MCP, and A2A move data while work is happening. OpenTelemetry observes that work. A trace can link to an ASP session, but it is not automatically a resumable or fidelity-preserving session record.

A practical composition

An editor can use ACP to control an agent, that agent can use MCP tools and delegate a task over A2A, and every component can emit OpenTelemetry spans. An ASP implementation can capture the canonical session events and opaque native evidence across those boundaries. Shared correlation identifiers should link the layers without making a transport span ID the durable session identity.

Use ASP when reconstruction, audit, migration, or resume matters. Use telemetry when latency, errors, token usage, and system health matter. Many production systems need both.

Mapping ACP updates into ASP

The current draft mapping aligns several ACP concepts with ASP:

  • "Beyond the turn + multi-client observation" ⇄ ASP's append-only event log + snapshot/cursor
  • "Stable IDs + patch semantics (omitted/null/value/chunk-append)" ⇄ ASP's entityRevision + delta merge
  • The Other block ("receivers must preserve raw payload") ⇄ ASP's typed unknown block

Integration directions: an ACP tap (ASP implementation as an ACP client) for live capture; an ACP agent adapter (ASP implementation as an ACP agent) for replaying stored sessions to an editor.

Divergence: ACP v2 removed the thinking content block; ASP treats thinking (with signature) as resume-critical.

Content-block mapping

ASPACP/MCP
textText
imageImage / Audio
referenceResourceLink / Resource
unknownOther — both mandate opaque passthrough
thinking(+signature)(none in ACP v2)
tool-call/tool-resultToolCall*

Full detail: asp/spec/acp-mcp.md.

Canonical references

ASP remains a draft specification. The comparison above describes protocol boundaries; it does not claim that every integration is already implemented.

On this page