dmc-12
·
the open protocol for agent-mediated automotive retail
How software agents discover vehicle merchants, read their inventory, obtain quotes and holds, and hand a customer to a human sales team — for a single rooftop or a network of merchants. dmc‑12 is MIT‑licensed, created by Chris Hudson and Ben Reuling, and open to any merchant or network: the category it serves is defined at thearm.ai.
May 4, 2026 The first agent-to-agent car deal in U.S. history was completed over the dmc-12 protocol, between a CarEdge buyer agent and a Utah Subaru dealership running the founding 0.x deployment.
If you're not a protocol person: MCP lets an agent use a business's tools. A2A lets two agents speak directly. UCP lets a merchant publish what they sell and how an agent can transact. dmc-12's UCP Merchant Binding rides all three; the semantics live in the profiles and can ride other bindings.
Profiles are dmc-12's conformance units — RFC-2119 requirements with stable, citable IDs, each independently versioned. A single rooftop typically claims Merchant Core; a multi-merchant network adds the draft network profiles. Full text: SPEC.md §3.
Conformance is self-declared: a deployment publishes a claim on its own property, pinning the spec version, each profile + version, trust levels, feature subset, binding, and claim scope against an immutable release tag. No registry, no certification, no endorsement — see SPEC.md §2.3 / §12.
The UCP Merchant Binding's canonical tool surface, as specified — a deployment declares the subset it implements on its manifest and may filter tools/list by caller class. The ten core tools below, plus initiate_deal_handoff and four negotiation tools.
An eleventh tool — initiate_deal_handoff (scope deal:handoff) — is the binding's sole PII-accepting surface: it transfers customer contact to a human sales team under explicit, channel-gating consent (as of v1.0, a present allowed_channels set restricts how the merchant may follow up).
The spec also defines four negotiation tools — submit_offer, submit_counter_offer, accept_offer, reject_offer (scope quote:negotiate) — bringing the canonical surface to 15. Merchants declare per-VIN fixed / stepwise / bestoffer policies; negotiation rounds are evaluated deterministically.
The spec, the schemas, and the example manifest are all served from the open repo at canonical URLs. Conformance claims pin the release tag — the canonical paths track the repo's mutable main branch.
DMC-12 follows SemVer 2.0.0. v1.0.0 is the first backward-compatibility commitment: the conformance model and the /schemas/v1/ binding set only break at a major version, and incompatible schema revisions mint a new namespace. Each version below is tagged in mm-open/dmc-12.
The whole stack is an open spec. Implement the Merchant Binding against your inventory source — or bring your own binding to the profiles — and publish a conformance claim on your own property. The creators will help: chris@promisepath.ai.