Skip to content

Arch1eSUN/MPCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MPCP — Multi-Party Coordination Protocol

An open protocol for governed, auditable deliberation and work delegation among mixed parties — humans and AI agents — treated as first-class, symmetric participants.

Status: v0.2 · experimental. Extracted from a working reference implementation (SwimmingPool). Expect breaking changes. This is not (yet) a standards-body submission.


Why this exists

The agent ecosystem already has protocols for the machine-to-machine plumbing:

  • MCP (Model Context Protocol) — how a model/agent talks to tools and context.
  • A2A (Agent-to-Agent) — how an agent talks to another agent.

Both deliberately scope to machines. Neither answers the question that shows up the moment real work involves more than one party and at least one human:

When several parties — some human, some agents from different vendors — need to discuss, question each other, reach a decision, split up the work, and be held accountable for it — what governs that?

Today that coordination is glued together by hand: copy-paste between chat windows, async ping-pong across departments, or flying people (and their agents, and their outputs) into a room. There is no shared, neutral, auditable protocol for it.

MPCP is that layer. Its atomic unit is a Party — which may be a human or an agent — and a single ruleset governs every edge uniformly:

Edge Meaning
P2P person ↔ person
P2A person ↔ agent
A2A agent ↔ agent

MCP and A2A ask "how do machines talk?" MPCP asks "how do mixed teams of humans and agents hold a meeting, decide, and delegate — on the record?"

Where it sits

MPCP is a semantic / governance layer. It is transport-agnostic — it defines the meaning of a coordinated session, not the wire it runs on. It composes with MCP/A2A, it does not compete with them.

┌───────────────────────────────────────────────┐
│  Applications   (SwimmingPool, and others)     │
├───────────────────────────────────────────────┤
│  MPCP  — parties · floor · decisions ·         │
│          delegation · visibility · record      │   ← this repo
├───────────────────────────────────────────────┤
│  Transport   (MCP · A2A · HTTP+WS · …)         │
└───────────────────────────────────────────────┘

What it defines

  • Party — the symmetric primitive (human | agent), with ownership (an agent may belong to / represent a human), seat mode, and its own credentials.
  • Venue — the bounded, stateful context where parties convene (a meeting / room), with a lifecycle and a record.
  • Floor control — who may speak or act now, and how the turn is granted, passed, skipped, or handed off (proxy / delegation).
  • Message — a contribution, with a kind and a visibility (public / owner-only / directed) whose read-filtering is defined per viewer identity.
  • Governance — how a proposal becomes a binding decision, including two-layer approval ("the convener approves the plan; each owner accepts work for their own agent").
  • Delegation — assigning a task to a party, its acceptance/decline, execution, delivery, and timeout.
  • Artifacts — shared inputs and produced deliverables, versioned and reference-based.
  • Presence & timing — a semi-asynchronous model: agents have activity timeouts; humans do not ("a meeting waits for people").
  • Record — an append-only, per-viewer-filterable audit trail (official minutes vs. personal view).

Design principles

  1. Party symmetry. Rules are written against parties, not "humans" and "agents" separately. kind matters only where it must (e.g. timing).
  2. Primitives, not one procedure. MPCP defines primitives (grant floor, contribute, move, ratify, delegate, deliver). A specific meeting format (structured rounds, open floor, …) is a profile composed from them — not baked into the core.
  3. Transport-agnostic. The spec defines message semantics and state, plus one reference binding. Run it over MCP, A2A, or plain HTTP+WebSocket.
  4. Bring-Your-Own-Agent (BYOA). Each party carries its own credentials. A conformant venue holds zero third-party credentials and makes zero model calls — it is a venue, not a proxy.
  5. On the record by default. Coordination without an audit trail is not coordination; accountability is a first-class output.

Reference implementation

SwimmingPool is the reference implementation and the source these primitives were extracted from — a local venue where heterogeneous agents (Claude, Codex, Gemini, …) and humans convene, deliberate, delegate, and report back, with the venue making no model calls and holding no credentials.

The concrete names in the spec map directly onto SwimmingPool's engine (e.g. Partyparticipant, Venuemeeting, the structured-discussion profile ↔ its phase state machine). See spec/mpcp-v0.2.md for the mapping.

Repository layout

spec/mpcp-v0.2.md     the specification (current)
spec/mpcp-v0.1.md     superseded, kept for reference
schema/               machine-readable JSON Schemas for the core objects
CHANGELOG.md          version history
LICENSE               MIT (permissive — implement freely)

Versioning & stability

Semantic versioning on the spec. v0.x is experimental and unstable; anything may change. v1.0 will mark the first surface intended to be stable. Track changes in CHANGELOG.md.

Status, honestly

This is v0.2, written by extracting what a working implementation already does — not by designing a standard in the abstract. It is published openly so it can be read, implemented, and argued with. It is not claiming to be an industry standard, and it is not fighting A2A/MCP for the transport layer. If it earns adoption, governance can move to a neutral body later; until then it is stewarded here.

License

MIT. The specification text and schemas are permissively licensed — implement them freely; attribution appreciated.

About

MPCP — an open, transport-agnostic protocol for governed, auditable coordination among mixed parties: humans and AI agents as first-class, symmetric participants (P2P/P2A/A2A). Sits above MCP/A2A.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors