Introduction to Marcus#

A Stoic Approach to Multi-Agent Software Development#

Marcus is an open-source orchestration server for AI coding agents. You describe what to build. Marcus breaks the work into tasks on a shared kanban board. Multiple agents pull tasks independently, write the code, and coordinate through the board β€” never through chat. You walk away; you come back to working software.

Named after Marcus Aurelius. The Stoic philosophy runs deep: discipline, transparency, and letting the system β€” not any single agent β€” hold the truth.

The Core Idea: Board-Mediated Coordination#

Every other multi-agent framework today coordinates agents through conversation β€” group chats, message passing, chain-of-thought relays. This works with 2–3 agents. At scale, it collapses: context degrades, work duplicates, failures cascade, and adding agents adds chaos.

The fundamental mistake: treating coordination as a conversation problem. It’s a state management problem.

Marcus uses a different approach: give agents a shared task board instead of making them talk to each other. We call this board-mediated coordination β€” a modern, agent-native take on the classical Blackboard pattern (Hayes-Roth, 1985), applied to autonomous LLM agents coordinating over MCP.

Group Chat Coordination

Board-Mediated Coordination

Used by

AutoGen, CrewAI, LangGraph

Marcus

Coordination

Conversation between agents

Shared board state

Context at scale

Degrades

Preserved per-task

Agent failure

Lost context, no recovery

Resume from board state

Visibility

Chat logs

Full audit trail + dashboard

Add more agents

More chaos

More throughput

Marcus doesn’t compete on raw speed. It competes on coordination quality, observability, and enterprise readiness.

The Three Agent Invariants#

Marcus is a board-mediated, blackboard-architecture Multi-Agent System. Three invariants are non-negotiable:

  1. Agents self-select work. Agents pull tasks via request_next_task. Marcus never pushes work, never assigns without request, never forces a specific agent onto a specific task.

  2. Agents make all implementation decisions. Marcus says WHAT to build and WHY it matters. Marcus never says HOW β€” no library choices, no patterns, no internal code structure. Two agents given the same task must be able to produce legitimately different implementations.

  3. Agents communicate exclusively through the board. No agent-to-agent direct communication. No Marcus-to-agent push outside task assignment. The board is the only channel.

Core Principles#

1. Bring Your Own Agent (BYOA)#

Marcus is agent-agnostic. Any MCP-compatible agent works: Claude Code, Codex, Gemini CLI, Kimi, AutoGen, LangGraph, or a custom runtime.

Two operating modes:

  • Runner mode β€” one-command experiments via the /marcus skill in Claude Code. Skill registers the MCP server, injects the agent prompt, decomposes the project, spawns N agents in tmux panes.

  • Attach mode β€” any MCP agent connects to http://localhost:4298/mcp. You wire the agents yourself; same board, same coordination. See PROTOCOL.md to build a runner for a new runtime.

2. Context Over Control#

Each task carries its own context β€” requirements, dependencies, artifacts from prior tasks. When an agent picks up a task, it gets exactly the context it needs. No chat history. No lost threads. No duplicate work.

Marcus provides:

  • Clear task definitions with rich descriptions

  • Dependency awareness of what must be done first

  • Implementation context from previous work (artifacts, decisions)

  • Impact visibility for downstream tasks

Marcus does not micromanage HOW agents accomplish tasks.

3. Resilience by Default#

When an agent fails, the task stays on the board with its progress. Another agent picks it up and continues. The board is the system of record. Lease recovery, structured handoffs, and progressive timeouts are built in.

4. Embrace Stochastic Reality#

Real-world software development is messy. Agents work in parallel, sometimes duplicate effort, sometimes discover better solutions by accident. Marcus embraces this β€” the non-linearity often leads to solutions perfectly coordinated systems would miss.

5. Safety Through Guardrails, Not Restrictions#

Marcus uses a hybrid intelligence approach:

  • Rules for safety β€” prevent illogical dependencies, ensure task ordering

  • AI for intelligence β€” semantic understanding, optimal matching, contextual instructions

  • Fallbacks for reliability β€” system continues functioning when AI fails

6. Research-First Design#

Every conversation logged, every decision tracked, every outcome measured. This enables academic study of multi-agent coordination, community learning from collective patterns, and evidence-based evolution of best practices.

7. Democratized Access#

  • Cost tracking β€” know exactly what coordination costs

  • Model flexibility β€” swap expensive models for cheaper ones, including free local LLMs via Ollama

  • Multiple deployment modes β€” research, development, production

  • MIT-licensed β€” use it in courses, papers, and experiments

The Marcus Ecosystem#

Marcus β€” the orchestration server#

The coordination server. Runs at http://localhost:4298/mcp. Decomposes natural-language project descriptions, manages the task graph, routes artifacts and context, enforces the work loop, recovers from failures.

Cato β€” the visual dashboard#

Cato is the active Marcus dashboard. Real-time visualization of agents, tasks, and board health, with a built-in kanban view. Sibling product β€” install separately and point at the same data store.

Posidonius β€” the experiment platform#

Posidonius is the experiment dashboard for launching and monitoring multi-run Marcus experiments β€” benchmarking, parameter sweeps, and parallel batches across any CLI agent. Web UI, run history, integration with Epictetus for grading agent output.

Epictetus β€” the grader#

A code auditor that grades software projects (and the agents that built them). Integrated into the Posidonius experiment pipeline as a post-run audit step.

/marcus skill β€” Runner mode launcher#

A Claude Code skill (skills/marcus/SKILL.md) that wraps experiment setup into one command. Spawns independent Claude CLI agents in tmux panes, each registering with the Marcus MCP server. The fastest way to go from idea β†’ coordinated multi-agent run.

What Makes Marcus Different#

From traditional project management tools#

  • Active intelligence β€” understands tasks, not just tracks them

  • Autonomous execution β€” agents work independently once assigned

  • Continuous learning β€” every project makes the platform smarter

  • Stochastic advantage β€” randomness as a feature, not a bug

From simple AI assistants#

  • Project-level thinking β€” understands entire systems, not just individual tasks

  • Multi-agent coordination β€” manages teams, not individuals

  • Safety guarantees β€” hybrid intelligence prevents catastrophic errors

  • Observable behavior β€” full transparency through Cato

From other multi-agent frameworks#

  • Coordination model β€” board-mediated state vs. group-chat conversation

  • Agent identity β€” ephemeral with platform-side learning, not persistent personas

  • Communication β€” board-only, not agent-to-agent messaging

  • Approach β€” research and discovery, not predetermined workflows

  • Focus β€” practical outcomes, not cognitive empathy

Who Should Use Marcus#

  • Solo developers managing multiple projects who need intelligent task organization

  • Small teams (2–5) coordinating without formal processes

  • Open-source maintainers who need visibility into project health

  • Indie hackers building products with AI assistance who want predictable delivery

  • Research teams studying multi-agent coordination β€” Marcus is MIT-licensed and instrumented end-to-end

The Stoic Way#

Focus on what you control β€” task structure, context, dependencies

Accept what you cannot β€” how agents choose to solve problems

Learn from what emerges β€” pattern recognition and continuous improvement

Practice transparency β€” all actions visible, all decisions logged


Next Steps#


β€œYou have power over your mind β€” not outside events. Realize this, and you will find strength.” β€” Marcus Aurelius