Deliberation MCP server
Second opinions in Claude Code and any MCP host from GPT, Gemini, Grok, and 400+ OpenRouter models.
158 stars913 downloads/wk
Reviews
Write oneNobody has reviewed Deliberation yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Deliberation tools (16, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyzeAnalyze recent runs from the opt-in debug log (latency/tokens/reasoning-effort per model) plus the session store (verdict agreement rate), and return advisory tuning suggestions (disable a slow/redundant model in ask-all, lower an OpenRouter model's reasoning, adjust maxFanout). Two lenses reported side by side - timing and agreement are NOT joined (no shared run id). Requires `debug.enabled` for
ask-allFan out one question to GPT, Gemini, Grok, and any configured OpenRouter models in parallel for independent second opinions, then return all results (advisory, no cross-contamination). Pass `expert` to apply a persona to every delegate. Calls external LLM providers (each needs its key/CLI; provider rate limits apply); returns a text-wrapped JSON envelope { results[], omitted[] } and persists a ses
ask-oneSecond opinion from ONE named provider in the active panel (e.g. `codex`, `gemini`, `grok`, `openrouter:<alias>` - get the names from `panel`). Issue N in parallel (one per panel name) so each renders independently as it lands. Calls one external LLM provider (needs its key/CLI; rate limits apply); returns a text-wrapped JSON envelope { result }, or { error, panel } when the name is not in the pan
consensuswrite actionRun the FULL multi-round consensus convergence loop server-side with a provider arbiter (blind pass + peer fan-out -> adjudicate -> revise) and return the converged verdict. Default depth is `consensus.maxRounds` (config, default 5); pass `maxRounds` to override. Pass `synthesizeAlways:true` for a SINGLE arbiter synthesis pass instead of the loop (best for open questions, not plan convergence): it
consensus-stepClient-driven consensus loop where YOU (the host model) are the arbiter, one action per call: init (returns sessionId + blind prompt) -> record_blind (your pre-commit verdict) -> dispatch_peers (server fans out to the providers) -> submit_adjudication (your verdict + per-issue accept/dismiss/defer) -> submit_revision (your revised plan), looping until converged or consensus.maxRounds rounds (defau
geminiStart a new Gemini expert session
gemini-replyContinue an existing Gemini session
grokStart a new Grok (xAI) expert session. Advisory only (no filesystem editing). Supports attaching files.
grok-replyContinue an existing Grok session (in-memory; lost if the MCP server restarts).
openrouterStart an OpenRouter expert session (advisory only). Pick a configured `alias`.
openrouter-listList configured OpenRouter delegates and settings. Pass mode ('ask-all'|'consensus') + optional expert to also get the resolved `selected` delegate set (selection applied server-side from the live config).
openrouter-replyContinue an OpenRouter session by threadId (in-memory; lost on restart).
panelReturn the names of the providers `ask-all` WOULD dispatch for the current config + expert (enabled built-ins + eligible OpenRouter aliases, fanout cap applied), WITHOUT calling them. Use this to discover the panel, then issue one `ask-one` call per provider in parallel for visible per-provider progress. Local and read-only (no provider calls); returns a text-wrapped JSON envelope { providers[], o
session-annotateAppend a freeform note to a persisted session's audit trail - an additive local write, no provider calls. Requires sessions.persist. Returns a text-wrapped JSON envelope { session } (the updated record), or { error } when persistence is off or the id is unknown.
session-getFetch a persisted consensus/ask-all session record by id (opinions, verdict, arbiter, annotations). Requires sessions.persist; local and read-only (no provider calls). Returns a text-wrapped JSON envelope { session }, or { error } when persistence is off or the id is unknown.
session-revisitRe-run a persisted session's ORIGINAL question with the CURRENT providers/config, linking the new run to its source by parentId. Requires sessions.persist; re-runs through the original tool path (which dispatches external providers) and persists a linked child record on success. Returns a text-wrapped JSON envelope (the re-run payload + parentId), or { error } when persistence is off or the id is
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
Runs npx -y @antonbabenko/deliberation-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add deliberation -- npx -y @antonbabenko/deliberation-mcp
Deliberation: common questions
- Is Deliberation MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Deliberation safety report
- How do I install Deliberation?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Deliberation need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Deliberation maintained?
- The last commit was in the last day (2026-09-20). The latest release is v3.14.5.