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.
| technology | primary responsibility | use it when you need |
|---|---|---|
| ASP | durable session identity, events, fidelity, replay, and migration | a portable source of truth for what an agent session contained |
| ACP | live editor↔agent interaction | prompts, streaming updates, tool calls, and control during an active session |
| MCP | context and tool exchange | a standard way for a model or agent to discover and invoke external capabilities |
| A2A | agent↔agent task coordination | agents to delegate work and exchange task status or artifacts |
| OpenTelemetry GenAI | operational telemetry | traces, 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
Otherblock ("receivers must preserve raw payload") ⇄ ASP's typedunknownblock
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
| ASP | ACP/MCP |
|---|---|
text | Text |
image | Image / Audio |
reference | ResourceLink / Resource |
unknown | Other — both mandate opaque passthrough |
thinking(+signature) | (none in ACP v2) |
tool-call/tool-result | ToolCall* |
Full detail: asp/spec/acp-mcp.md.
Canonical references
- Agent Client Protocol
- Model Context Protocol
- A2A Protocol
- OpenTelemetry generative AI semantic conventions
ASP remains a draft specification. The comparison above describes protocol boundaries; it does not claim that every integration is already implemented.