Quorum Agents

Quorum Agents

Enables orchestrating multiple specialist Claude Code agents as a team, with live visualization and agent-to-agent messaging.

Category
访问服务器

README

<p align="center"> <img src="docs/hero.png" alt="Quorum — run your agents as a team" width="820"/> </p>

<p align="center"> <b>Run your Claude Code agents as a real team.</b><br/> Named specialist agents that message each other, debate, converge — and report back to you —<br/> each one a full Claude Code session, visualized live on a desktop canvas. </p>

<p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license"/></a> <img src="https://img.shields.io/badge/API%20key-not%20needed-brightgreen.svg" alt="No API key needed"/> <img src="https://img.shields.io/badge/cost-your%20existing%20Claude%20subscription-8A2BE2.svg" alt="Runs on your Claude subscription"/> <img src="https://img.shields.io/badge/platform-macOS%20%C2%B7%20Electron-lightgrey.svg" alt="macOS / Electron"/> </p>


Three automotive agents split a task, negotiate ownership, and report back to the Team Lead — real 10s capture

Real capture, not scripted: the Team Lead (a normal Claude Code session in the editor) dispatches one task to three automotive agents. They negotiate the split among themselves — you can watch each agent's live terminal — then each reports its own slice back.

No API costs. Really.

Quorum does not use the Anthropic API and never asks for an API key. Every agent is a real claude session started through the official Claude Agent SDK, authenticated by the Claude Code login you already have. If you have a Claude subscription that runs Claude Code, you can run a whole team of agents at no extra cost beyond your plan's usage limits.

Why

Claude Code subagents are fire-and-forget child tasks: they can't talk to each other, and you can't talk to them while they work. Quorum flips the model:

  • Every agent is a persistent, named Claude Code session with its own specialty, model, and permission mode.
  • Agents message each other — ask questions, split work, object, converge — over a documented MCP tool surface.
  • Your own editor session becomes the Team Lead. Quorum exposes a local MCP bridge; the Claude Code session you already work in connects to it and orchestrates the team — decomposes work, collects replies, synthesizes. The intelligence coordinating your agents is the same one you code with.
  • Everything is visualized live: message comets fly between agent blocks, violet when the Team Lead speaks, cyan for everything else.

Highlights

🧠 External Team Lead Your editor's Claude Code session drives the team over a local MCP bridge (ask / roster / replies). The lead's block glows when it's working — brighter when it's actively driving the team.
🖥️ Per-agent terminals Pop out a live terminal for any agent — its full traffic stream, tethered to its block with a curved connector that glows while the agent works. Each terminal has its own composer for one-on-one conversation.
🎯 Mode-aware delivery How you address the team decides who answers. Plain text → group task for everyone. @agent → that agent answers you directly. Select several blocks → a coordinated group task where each participant answers exactly once, enforced by the bus, not by prompt hopes.
🛒 377-agent marketplace Ready-made specialist agents (see credits) searchable across every field; "add to team" spawns a live session. Teams cap at 5 agents.
📝 Team memory Agents record decisions (PROPOSE / OBJECT / ACCEPT) to .quorum/decisions.jsonl; new sessions spawn with a digest of the last decisions and open tasks, and can query the rest on demand.
🗂️ Task board add_task / claim_task / complete_task with atomic claims — two agents can't grab the same work.
⏹️ ESC interrupts One key aborts every busy agent's in-flight turn via the SDK's documented interrupt(). Queued messages survive.
🎛️ Per-agent tuning Double-click a block: switch model (haiku / sonnet / opus / …) and permission mode (read-only / ask-to-write / auto). Model changes restart via --resume, keeping history.
💾 Per-project persistence Open Quorum on any project folder; its team, layout, decisions, and tasks live in that project's .quorum/. Reopen and continue where you left off.
🏷️ Truthful activity labels "messaging safety-engineer…", "replying to the user…", "reporting to the lead…" come from actual delivery outcomes on the bus — never guessed from tool intent.

<p align="center"> <img src="docs/negotiation.png" alt="Agents negotiating task ownership in their live terminals" width="820"/> <br/><i>Agents negotiate ownership among themselves (OBJECT/ACCEPT), each in its own live terminal — running haiku, sonnet, and opus side by side.</i> </p>

How it works

flowchart LR
    subgraph editor["Your editor / CLI"]
      L["Claude Code session<br/>(the Team Lead)"]
    end
    subgraph app["Quorum desktop app"]
      B["MCP bridge<br/>127.0.0.1:8484"]
      Q["Message bus<br/>FIFO queues · turn budgets · delivery rules"]
      A1["agent session"]
      A2["agent session"]
      A3["agent session"]
    end
    U["You<br/>(composer)"] --> Q
    L -- "ask · roster · replies" --> B --> Q
    Q <--> A1
    Q <--> A2
    Q <--> A3

Quorum itself never calls a model. It transports and visualizes messages; all intelligence lives in your Claude sessions. The rules that matter — reply budgets, queuing, delivery guarantees — are enforced in the application layer, not written into prompts and hoped for.

Quickstart

Prerequisites: macOS (developed there; npm start is portable), Node 24+, and Claude Code installed and logged in (claude on your PATH).

git clone https://github.com/birol91/quorum-agents.git
cd quorum-agents
npm install
npm start
  1. Pick a project folder from the welcome screen (or reopen a recent one).
  2. Open the Marketplace and add up to 5 agents — or create your own with a name, description, and persona.
  3. Type in the composer. Plain text tasks the whole team; @agent-name targets one; select several blocks to task exactly that group.

Connect your Team Lead (optional, and the best part). In the project where you run Claude Code:

claude mcp add --transport http quorum http://127.0.0.1:8484/mcp

Then just tell your editor session things like "split this refactor across the team and collect their findings" — it will use the bridge's ask / roster / replies tools, and you'll watch the whole conversation play out on the canvas.

Addressing modes

You write Who gets it Who answers you
plain text every agent, as a group task each agent, exactly once, from its own specialty
@one-agent … that agent that agent, directly
select 2+ blocks, then send exactly those agents each selected agent, exactly once
via Team Lead (bridge) whoever the lead decides the lead, with a synthesis

Agent marketplace — credits

The 377-agent catalog bundled in .claude/agents/ is generated from three excellent MIT-licensed collections. All credit to their authors — Quorum only repackages the prompts with marketplace metadata:

Source Agents What
wshobson/agents 126 The classic Claude Code subagent collection — engineering, cloud, data, security, SEO, business
im-hashim/automotive-claude-code-agents 241 Deep automotive software engineering — AUTOSAR, ISO 26262, ADAS, EV systems, cybersecurity
anthropics/financial-services 10 Anthropic's financial-services agent examples

Regenerate or extend the catalog with scripts/import-agents.mjs.

Design principles

  1. Documented interfaces only. Agents run through the official Agent SDK; the lead connects over MCP; model switches use --resume. No PTY automation, no transcript scraping, no state inference — if the answer to "how do we know this?" would be "we guessed from a side channel," the design is rejected.
  2. Mechanism over prompt. Turn budgets, reply grants, queueing, and delivery guarantees live in the app layer where they can't be talked out of.
  3. The app is not an AI. Quorum produces no content and proxies no model calls. It is plumbing and glass.

Development

npm test              # unit tests (bus mechanics, decisions, tasks, team)
npm run typecheck     # strict TypeScript
npm run dev           # vite + electron with hot renderer
npm run package:mac   # build a DMG (electron-builder, arm64)

License

MIT © birol91

Quorum is an independent open-source project built on the official Claude Code CLI and Agent SDK. It is not affiliated with or endorsed by Anthropic; "Claude" is a trademark of Anthropic, PBC. Bundled marketplace agents remain under their original MIT licenses — see credits.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选