consensus
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@consensusOptimistic locking or a distributed lock for inventory holds?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
One model gives you one confident answer. consensus puts the question to a panel instead: Claude, GPT, Grok and Gemini answer independently, attack each other's answers anonymously, concede or rebut every dispute, and revise until they agree. You get one answer the whole panel signed off on, its confidence, and the disagreements that survived, laid out honestly instead of averaged away.
It runs on the subscriptions you already pay for (Claude Pro/Max, ChatGPT Plus/Pro, SuperGrok) by driving each vendor's own CLI in a verified clean room, or on API keys, OpenRouter, Groq, Ollama or any OpenAI-compatible endpoint. CLI, MCP server, GitHub Action and TypeScript library.
Quickstart
npm install -g consensus-panel # or the one-liner below: no Node needed
consensus setup # finds your accounts, builds panels, teaches your IDEs, runs a first debate
consensus "Should this queue move from Postgres SKIP LOCKED to Redis/BullMQ?" -c src/queue.tscurl -fsSL https://raw.githubusercontent.com/seanheiney/consensus/main/install.sh | sh # macOS / Linux
irm https://raw.githubusercontent.com/seanheiney/consensus/main/install.ps1 | iex # WindowsYou need two model connections for a panel, or one with --variants 4 (the same model seated under four reasoning angles). consensus doctor tells you what is connected and what is missing. One OPENROUTER_API_KEY reaches every vendor.
Related MCP server: tokonomix-council-mcp
What you get back
A real run, lightly trimmed: Claude Haiku 4.5 seated three times under the debug angles, GPT-5.6 Sol as captain, and a --verify grounding pass over the result.
$ consensus "A payment service retries a failed charge 3 times with no idempotency key.
Name the concrete failure this causes." \
-p claude:claude-haiku-4-5-20251001 --for debug -e low --verify
# Answer
The concrete failure is duplicate charges: the customer may be charged multiple times for one transaction.
This occurs when the original charge succeeds at the processor but its response is lost or times out. […]
# Confidence
High — all provided answers agree.
# Unresolved disagreements
- None.
Grounding check by codex:gpt-5.6-sol: 4 load-bearing claims checked against the material given
— 1 supported, 0 contradicted, 3 not established by that material.
- unsupported: the charge succeeding while its response is lost — the problem never says any attempt succeeded.
- unsupported: "up to four identical charges" — nothing establishes that every attempt can create a charge.
Dropped: the enumerator seat hit its weekly usage limit in round 1; the other two carried on.
Isolation: 4/4 seats clean (3 observed at startup with no tools or MCP servers; 1 by lockdown flags)
Panel converged after 1 round. Cost: subscription quota (~$0.32 list-price equivalent).The panel agreed, and the grounding check still separated what the question established from what the panel assumed. That separation is the point. Every run is saved, and consensus log replays the full debate: each answer, every dispute, every concession and rebuttal.
How it works
Anonymous. Answers are shown as A, B, C (shuffled once per run), so no seat defers to a brand.
Concede or rebut. Every dispute gets an answer with a reason. A critique cannot be ignored.
Unanimous or it keeps going. One dissenting seat keeps the debate open, up to
--rounds. A captain (by default the best model available) moderates, referees disputes it can settle, and ends a stalemate by reporting it.Honest output. The report keeps unresolved disagreements, with each side's strongest case, and says what changed during review. A seat that fails is dropped and the run continues, with exit code 2 so scripts notice.
Does it actually help?
Measured, not asserted: docs/evidence.md. On eight open design and operations decisions with expert-written rubrics, blind graders from two vendors preferred the debated answer over either single frontier model on 7–8 of 9 paired cases, and scored it highest on rubric accuracy. Against the same model sampled three times and self-merged, one grader preferred the panel 7–1–1 and the other called it even.
It is not free: a full frontier debate took about 22× the time of one answer. On easy questions a single model is already right, and the panel mostly adds polish. So use a panel where being wrong is expensive, and use the cheap tools below everywhere else. consensus bench runs the same comparison on your own questions.
Cheap by default, expensive when it earns it
consensus check "Is this migration safe to run online?" -c 0042.sql # one answer per model, no debate; exit 1 when they split
consensus "Is this design sound?" -P groq-fast --escalate frontier # open-weight panel in seconds; promote only if unsettled
consensus "Review this migration" -c plan.sql --for code-review # the reasoning angles that fit the work
consensus "Optimistic locking or a distributed lock?" --variants 4 # a real debate on a single subscriptionconsensus checkuses disagreement between models as an uncertainty detector: one call per seat, thenNeeds human: yes|noto gate an agent or a CI job on.--escalateanswers with the cheap panel and promotes to the strong one only when the first pass did not converge, left a major dispute open, or reported confidence below high.groq-fast/groq-councilseat Groq's open-weight models under different angles onceGROQ_API_KEYis set. A debate then takes seconds and costs a fraction of a cent.
Trust you can check
Feature | What it does |
Grounding |
|
Quarantine |
|
Clean rooms, observed | Seats see only your prompt: no files, no instruction files, no MCP servers, no other vendors' keys. Every run ends with a line such as |
Calibration |
|
Decision records |
|
Use it from your agent
consensus setup registers the MCP server and a skill in Claude Code, Codex, Gemini CLI, Grok, Cursor, Windsurf and Claude Desktop, so your agent knows when to reach for a panel. Then just ask: "Get a panel consensus on whether we should move this queue to Kafka; include the producer code."
claude mcp add -s user consensus -- consensus mcp # or register it by hand
codex mcp add consensus -- consensus mcpTools: consensus (run a panel, with variants, escalate_to, verify, untrusted), consensus_check, consensus_outcome, consensus_profiles, consensus_design. Details in docs/usage.md.
In CI
- uses: seanheiney/consensus@v0.3.0
with:
prompt: Review this diff for correctness, security and operational risk.
context-file: /tmp/diff.patch
profile: groq-fast
for: code-review
verify: "true"
comment: "true" # post the report on the pull request
max-cost: "0.50"
env:
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}mode: check gives a cheap gate that debates only on a split. Other recipes cover escalation, /consensus comments and monthly decision rechecks: docs/ci.md.
Your subscriptions, and the fine print
Vendor | Subscription seat | API key |
Anthropic |
|
|
OpenAI |
|
|
xAI |
|
|
— (the free individual Gemini CLI login was retired) |
| |
Anything else | — |
|
A subscription seat is the vendor's own CLI, run headless in an empty directory with its tools, plugins and MCP servers switched off and an allow-listed environment. Consensus never sees your subscription token.
Read this before relying on subscription seats. They spend the same rate limits as your interactive use of those CLIs, and a three-round frontier debate can take a real slice of a daily cap. The vendors' terms govern this use, and Anthropic's restrict third-party products from relying on claude.ai logins. Consensus is a local tool you run under your own login, not a hosted service. Checking your plan's terms is on you, and anything shared or automated should use API keys. More in the FAQ.
Documentation
Guide | What is in it |
Every install path, what the installer writes where, upgrading, uninstalling, troubleshooting | |
CLI reference by task, the | |
The GitHub Action: PR review, the | |
Ablations against single models and self-consistency, with raw results | |
The trust features in depth | |
Cost, terms, privacy, dropped seats, "why no revision with | |
Share a panel (profiles, personas, a bench suite) as one JSON file |
Library
import { runConsensus, resolveRun, loadConfig, renderReport } from "consensus-panel";
const cfg = await loadConfig();
const { panel, judge, rounds, effort } = await resolveRun({ cfg, profile: "frontier" });
const run = await runConsensus("Design a rate limiter for a multi-tenant API", { panel, judge, rounds, effort });
console.log(renderReport(run));Bring your own model by implementing Panelist (id, provider, model, complete(request)).
Contributing
pnpm install && pnpm test # 268 tests, no keys needed
pnpm dev "..." # run from sourceIssues and pull requests are welcome: see CONTRIBUTING.md. Security reports go through SECURITY.md. Release notes are in CHANGELOG.md.
MIT licensed. No telemetry.
This server cannot be deployed
Maintenance
Related MCP Connectors
Multi-LLM council: 25+ frontier models in parallel, consensus scoring, verdict-first code review.
Convene a panel of expert AI personas to debate any decision from every side.
AI model routing on your own vendor keys: pick the best model per prompt, or route and run it.
Ask GPT, Claude, Gemini and Grok at once: one consensus answer plus where they agree and split.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides access to multiple frontier LLM models (GPT, Claude, Gemini, Grok, DeepSeek) for consulting a "conclave" of AI perspectives, enabling peer-ranked evaluations and synthesized consensus answers for important decisions.81MIT

tokonomix-council-mcpofficial
AlicenseAqualityBmaintenanceEnables multi-model consensus decision-making for high-stakes AI decisions, using independent expert models and a judge to surface disagreements and ground decisions.11348 npm1MIT- AlicenseAqualityBmaintenanceEnables role-based, multi-model AI orchestration by assigning specialized expert roles to a hybrid panel of local and cloud LLMs, generating unified advisory council reports for complex tasks.64 npm1MIT
- AlicenseNot gradedqualityAmaintenanceLets your AI assistant consult assistants from other vendors under your own subscriptions, track costs, and cross-examine answers across models to surface disagreements and open points.3 npmMIT