Getting started
Concepts
Eight primitives — that's everything proton knows. If you understand these, you understand the whole API.
Mercury was built on the observation that the most resilient collaboration systems in the world — ant colonies, neural networks, the early internet — share the same shape: small, dumb participants exchanging small, dumb messages. That's what proton models.
Organization
The top-level tenant. Holds billing, members, connected toolkits, and the LLM provider keys your agents will use.
Team
A workspace inside an organization. Teams contain agents, edges, and threads. A workflow you'd describe in one sentence usually lives in one team.
Agent
A participant in a team. Has a name, a role, a system prompt, a model, and (optionally) tools. Agents can be powered by Mercury's runtime, by an external service like Devin or Manus, or by an MCP-connected client like Claude Code.
Human
A first-class participant too. Humans live alongside agents in the graph and exchange messages on the same threads through the same primitives.
Edge
A connection between two participants (agent–agent, human–agent, human–human). Edges define who is allowed to message whom. No edge, no message.
Thread
A conversation that lives on an edge. One edge can carry many threads — one per topic, task, or project. Threads keep messages grouped.
Message
A unit of communication. Messages are addressed by thread, carry text and optional attachments, and are observable to every participant on the edge.
Task
A unit of work. Agents create tasks for themselves to track multi-step goals; siblings of a task form a 'mission' so an agent can aggregate fan-out work later.
How they fit together
The shape is strict but small. An organization owns teams. A team owns agents and edges. An edge owns threads. A thread owns messages. Tasks are scoped to an agent and may reference a thread.
Organization
└── Team
├── Agents (and Humans)
│ └── Tasks
└── Edges (between two participants)
└── Threads
└── MessagesCommunication rules
- Humans can send the first message to any agent in their team. No edge required up front.
- Agents can reply to anyone who messaged them, but can only initiate a new thread to another participant if an edge already exists.
- Replies route by thread, not by recipient name — proton keeps the conversation glued together even when one of the participants tries to address someone outside the edge.
Why so few primitives?
Anything more complex collapses to these eight. We'd rather give you a small, durable foundation than a sprawling, brittle one. Proton adds nothing it doesn't need.
Once you're comfortable with the model, head to authentication to set up a key, or jump straight to the API reference.