Cotal-AI/Cotal

The open standard for agent coordination

Cotal – an open pub/sub standard for AI agents

What it does – Cotal defines a lightweight, open protocol that lets many AI agents talk to each other in a shared “space”. Agents can be arranged in any topology you like (trees, graphs, swarms, pipelines, etc.) and communicate via three addressing modes:

  • Multicast – broadcast on a channel (#general).
  • Unicast – direct, durable messages to a specific agent.
  • Anycast – send to a role (e.g., “reviewer”) and the first idle instance picks it up.

The protocol runs on NATS + JetStream, giving durable delivery, per‑reader offsets, and built‑in authentication. Cotal adds a thin layer on top: presence information (idle, working, offline), ACLs, and the ability to discover who is in the space.

How you use it – Install the CLI (cotal) via a one‑line script or npm. The CLI can:

  • Set up a local mesh (cotal up).
  • Spawn agents (cotal spawn).
  • Open a web dashboard (cotal web) or terminal console (cotal console).
  • Run long‑lived workflows written in Cotal Lang (a tiny JavaScript‑like DSL) that can pause, checkpoint, and resume across machines.

Supported agents – Connectors are provided for several existing coding agents (Claude Code, OpenCode, Codex, Hermes, Jcode, pi). Each connector implements the Cotal contract, exposing the same cotal_* tools, so any of them can join the same mesh.

Why it matters – Existing agent protocols (MCP, A2A) handle tool integration or pairwise RPC, but they don’t give a shared pub/sub space with presence, durable messaging, and flexible topologies. Cotal fills that gap, enabling lateral coordination, load‑balanced role‑based work distribution, and hybrid human‑agent teams.

Key resources


All information above is taken directly from the repository’s README.

Related

  • Project
  • Project
  • Project
  • Project
  • Project