How lifecycle-aware transaction state and structured model context enable reliable AI-to-commerce interoperability.
Modern AI agents require structured, deterministic context to operate reliably in commerce workflows. Two protocols address complementary layers of this requirement:
| Layer | Protocol | Responsibility |
|---|---|---|
| Model Context | MCP | Standardizes how AI models receive and exchange structured context and tool outputs. |
| Transaction State | ACP | Standardizes lifecycle-aware transaction state exchange between business systems. |
In automotive retail, AI agents increasingly assist with lead handling, appointment scheduling, trade-in capture, and lifecycle progression. ACP ensures that those agent outputs persist as structured transaction state across dealership systems.
Together, they enable a pipeline where AI agent reasoning is grounded in structured transaction data, and agent outputs flow into deterministic business state.
The Model Context Protocol (MCP) standardizes how AI models receive and exchange structured context and tool outputs. It focuses on model-to-tool interoperability in agent-based systems.
MCP defines:
MCP operates at the agent reasoning layer — it governs what the model sees and what the model can do. It is agnostic to the business domain.
The Automotive Commerce Protocol (ACP) standardizes lifecycle-aware transaction state exchange between business systems. It defines versioned snapshot and delta envelopes for deterministic state progression in automotive commerce.
ACP defines:
acp, source, dealership, lead, transaction,
conversation, events, ai_analysis) that capture the full transaction lifecycle.
ACP operates at the business state layer — it governs what the transaction looks like at any point in time. It is agnostic to the AI implementation.
MCP and ACP address different layers of the same pipeline. Neither replaces the other.
| Concern | MCP | ACP |
|---|---|---|
| What does the AI agent see? | ✓ | — |
| What tools can the agent call? | ✓ | — |
| What is the transaction state? | — | ✓ |
| How are state changes transmitted? | — | ✓ |
| How are intents structured? | Typed outputs | Typed fields |
| Schema enforcement? | Tool schemas | JSON Schema |
| Versioning? | Protocol-level | Envelope-level (SemVer) |
The key interoperability points:
A concrete sequence showing ACP and MCP interoperating in a vehicle purchase conversation:
A customer messages: "I'm interested in the 2025 Honda CR-V Hybrid. What's the monthly payment with $5,000 down?"
The agent's MCP context includes the current ACP snapshot — existing lead data, vehicle inventory, prior conversation history, and transaction stage. The agent reasons with full state awareness.
The agent calls an MCP tool that returns typed outputs: vehicle_interest, budget.down_payment: 5000, intent: FINANCING, confidence: 0.91.
The MCP tool output is packaged into an ACP delta envelope. The delta references the parent snapshot via parent_envelope_id, includes only changed fields, and appends new events to the behavioral stream.
The CRM receiver validates and ingests the delta. The canonical transaction state now reflects the customer's financing intent, vehicle interest, and budget — structured, validated, and ready for the sales team.
An MCP tool that produces ACP-compatible output might be defined as:
{
"name": "extract_transaction_state",
"description": "Extract structured transaction fields from conversation",
"input_schema": {
"type": "object",
"properties": {
"message": { "type": "string" },
"current_state": { "$ref": "acp-envelope-v1.0.0.json" }
}
},
"output_schema": {
"type": "object",
"properties": {
"intents": { "type": "array", "items": { "$ref": "#/definitions/intent" } },
"vehicle_interests": { "type": "array" },
"budget_update": { "$ref": "#/definitions/budget" },
"score_delta": { "type": "number" }
}
}
}
The tool's output_schema maps directly to ACP envelope fields. This alignment is intentional — ACP's typed field definitions serve as the canonical vocabulary for tool outputs in automotive commerce.
The MCP tool output above produces an ACP delta:
{
"acp": {
"version": "1.0.0",
"protocol": "acp",
"envelope_id": "acp_1707900000_d4f8",
"parent_envelope_id": "acp_1707899000_a1b2",
"generated_at": "2025-02-14T10:00:00Z"
},
"events": [
{
"event_type": "INTENT_DETECTED",
"timestamp": "2025-02-14T10:00:00Z",
"data": {
"intent": "FINANCING",
"confidence": 0.91,
"source": "mcp_tool:extract_transaction_state"
}
},
{
"event_type": "BUDGET_UPDATED",
"timestamp": "2025-02-14T10:00:00Z",
"data": {
"down_payment": 5000,
"source": "mcp_tool:extract_transaction_state"
}
}
]
}
Note the source field in each event references the MCP tool that produced it. This creates a full audit trail from agent reasoning to business state.
An ACP snapshot provides complete transaction context to an MCP agent. The agent receives:
| ACP Field | Agent Context Value |
|---|---|
| lead.contact | Customer identity — name, phone, email for personalization. |
| lead.vehicle_interests[] | What the customer has expressed interest in — models, trims, colors. |
| lead.budget | Financial constraints — monthly target, down payment, trade-in value. |
| lead.intents[] | Detected purchase signals — PRICING, TEST_DRIVE, FINANCING, etc. |
| lead.score | Quantified purchase readiness — 0 to 100. |
| transaction.stage | Where the deal is — INQUIRY, EVALUATION, NEGOTIATION, CLOSED_WON. |
| conversation.messages[] | Full conversation history for continuity. |
| events[] | Behavioral signal stream — every significant interaction. |
This structured input replaces unstructured prompt engineering. The agent doesn't need to parse conversation history to understand the deal — the state is pre-computed, validated, and typed.
ACP envelopes are valid and complete without any MCP involvement. Any AI system — MCP-compatible or otherwise — can produce and consume ACP envelopes. The interoperability described here is a natural consequence of both protocols using structured, typed, schema-validated data exchange.
The ACP + MCP interoperability pattern follows these architectural principles:
| Principle | Description |
|---|---|
| Loose coupling | Neither protocol depends on the other. Interoperability is emergent, not mandated. |
| Schema alignment | MCP tool outputs map to ACP field types. No transformation layer required. |
| Auditability | Every state change records its source — whether human, AI agent, or MCP tool. |
| Determinism | ACP envelopes are immutable snapshots. Agent reasoning produces deterministic state transitions. |
| Validation boundary | MCP governs tool I/O schemas. ACP governs envelope schemas. Each validates independently. |
Scenarios where ACP + MCP interoperability provides architectural value:
Multiple MCP agents (sales, finance, service) share a single ACP envelope as canonical state. Each agent reads the latest snapshot, produces deltas through their tools, and the envelope maintains consistency across agent boundaries.
When a conversation transfers from AI to human (or between AI agents), the ACP snapshot provides complete structured context — no information loss. The receiving agent or human sees every intent, every price discussed, every vehicle explored.
MCP tools running entity extraction, intent detection, or sentiment analysis produce typed outputs that map directly to ACP fields. The tool doesn't need automotive domain knowledge — it produces generic structured outputs that ACP's schema validates.
Because both protocols use structured, typed, schema-validated data — every state transition is reproducible. An ACP event stream tagged with MCP tool sources can be replayed to debug agent behavior.