io.github.antonbabenko/deliberation
NPM · @ANTONBABENKO/DELIBERATION-MCP · SCANNED SEP 20
Second opinions in Claude Code and any MCP host from GPT, Gemini, Grok, and 400+ OpenRouter models.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency71
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Cryptographically verified build provenance (signed, bound to antonbabenko/deliberation). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5588 tokens (~279/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 20 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
How do I install the io.github.antonbabenko/deliberation MCP server?
io.github.antonbabenko/deliberation runs locally as an npm package, launched with npx -y @antonbabenko/deliberation-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @antonbabenko/deliberation-mcp
claude mcp add antonbabenko-deliberation -- npx -y @antonbabenko/deliberation-mcp
{
"mcpServers": {
"antonbabenko-deliberation": {
"command": "npx",
"args": [
"-y",
"@antonbabenko/deliberation-mcp"
]
}
}
} {
"servers": {
"antonbabenko-deliberation": {
"command": "npx",
"args": [
"-y",
"@antonbabenko/deliberation-mcp"
]
}
}
} codex mcp add antonbabenko-deliberation -- npx -y @antonbabenko/deliberation-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"antonbabenko-deliberation": {
"type": "local",
"command": [
"npx",
"-y",
"@antonbabenko/deliberation-mcp"
],
"enabled": true
}
}
} openclaw mcp add antonbabenko-deliberation --command npx --arg -y --arg @antonbabenko/deliberation-mcp
mcp_servers:
antonbabenko-deliberation:
command: "npx"
args: ["-y", "@antonbabenko/deliberation-mcp"] {
"McpServers": {
"antonbabenko-deliberation": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@antonbabenko/deliberation-mcp"
]
}
}
} assistant mcp add antonbabenko-deliberation -t stdio -c npx -a -y @antonbabenko/deliberation-mcp
{
"mcpServers": {
"antonbabenko-deliberation": {
"command": "npx",
"args": [
"-y",
"@antonbabenko/deliberation-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −3
- Stability: pass → 0.80 functional
- 16 Sept 26 +1
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.83 functional
- 10 Sept 26 +1
- Stability: 0.97 → pass security
- 9 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@antonbabenko/deliberation-mcp@3.14.5
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | antonbabenko/deliberation |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/antonbabenko/deliberation/.github/workflows/tag-release.yml@refs/heads/master |
| Rekor log index | 2714735080 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:de19e5edf110daa1dfb11cd00ba9df51b171b104339094c8e9a1a08e7da03fb3d6d0de60da1bdb5b9c5cbe085fd10205fb638676d262d74845dd4cb55 |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze ~349
Analyze 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 the timing lens. Local and read-only (no provider calls, writes nothing); returns a text-wrapped JSON envelope with the two lenses + suggestions. The `/deliberation:analyze` slash command renders this for humans.
| Name | Type | Req | Description |
|---|---|---|---|
| configuredOnly | boolean | – | Report only models present in the current config (default true). Excluded rows and the reason each was dropped are listed in meta.excluded. Set false to include retired/unconfigured models. |
| limitBytes | integer | – | Tail size of the debug log to read, in bytes (default 1048576, or 33554432 when `since` is set). Clamped to 33554432. |
| sessions | integer | – | How many recent session records to read for the agreement lens. Default -1 (no caller cap), still bounded to 500 parsed records; truncation is reported in meta.truncated.sessions. |
| since | string | – | Only analyze runs newer than this window, e.g. "30m", "24h", "7d", or a bare number of seconds. Gates BOTH lenses so timing and agreement cover the same period. Omit for all time. Max 10 years; an in… |
No output schema declared.
No examples provided.
architect ~293
Software architect for system design, tradeoff analysis, and complex decisions. Use for architecture, API/schema design, multi-service interactions, or when a fix has failed twice and needs a fresh perspective. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
ask-all ~312
Fan 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 session record only when sessions.persist is enabled (default off).
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
ask-gemini ~272
Single-provider second opinion via gemini (advisory, single-shot). Pass `expert` to apply one of the expert personas. Calls the external gemini provider (via the Gemini CLI; rate limits apply) and returns a text-wrapped JSON envelope { result }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
ask-gpt ~272
Single-provider second opinion via codex (advisory, single-shot). Pass `expert` to apply one of the expert personas. Calls the external codex provider (via the Codex CLI; rate limits apply) and returns a text-wrapped JSON envelope { result }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
ask-grok ~272
Single-provider second opinion via grok (advisory, single-shot). Pass `expert` to apply one of the expert personas. Calls the external grok provider (needs XAI_API_KEY; rate limits apply) and returns a text-wrapped JSON envelope { result }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
ask-one ~355
Second 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 panel. Advisory, single-shot.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| provider | string | yes | A name from `panel` (e.g. "codex", "gemini", "grok", "openrouter:<alias>"). |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
ask-openrouter ~274
Single-provider second opinion via openrouter (advisory, single-shot). Pass `expert` to apply one of the expert personas. Calls the external openrouter provider (needs the OpenRouter API key env; rate limits apply) and returns a text-wrapped JSON envelope { result }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
code-reviewer ~287
Senior engineer doing code review for bugs, security holes, and maintainability - not style nitpicks. Use to review a diff or file before merging. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
consensus ~535
Run 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 returns a free-text `synthesis` and `maxRounds` is ignored. Configure the arbiter via `consensus.arbiter` - a concrete provider/openrouter alias runs server-side; `host` mode returns the opinions for YOU to synthesize. Advisory; pass `expert` to apply a persona. Calls external providers (keys/CLI; rate limits apply); returns a text-wrapped JSON envelope (split verdict/synthesis, loop fields nullable) and persists a session record only when sessions.persist is enabled (default off). NOTE (Claude Code): use the `/consensus` slash command for the transcript-visible host-arbiter loop (it drives `consensus-step`); this tool is the provider-arbiter path for any host.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| maxRounds | integer | – | Override consensus.maxRounds for this call (loop mode only; ignored when synthesizeAlways is true). Clamped to 50. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
| synthesizeAlways | boolean | – | Run ONE arbiter synthesis pass instead of the convergence loop. Returns a free-text `synthesis` (verdict/converged/confidence are null, rounds is 1). Best for open questions. |
No output schema declared.
No examples provided.
consensus-step ~419
Client-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 (default 5). Only the dispatch_peers action calls external providers; the others are local transitions on the ephemeral per-session loop store (keyed by sessionId, lost on server restart). Each call returns a text-wrapped JSON envelope with the next status/round (plus blindPrompt, opinions[], or finalReport by action). Advisory to the outside world, but mutates server loop state on every call.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Which loop step to run this call, in order: init -> record_blind -> dispatch_peers -> submit_adjudication -> submit_revision. |
| blindVerdict | string | – | record_blind only: your pre-commit verdict text, written before the panel is revealed. |
| cwd | string | – | dispatch_peers only: working directory the peer providers run in. |
| decisions | array | – | submit_adjudication only: per-issue rulings, each { source, category, description, action: accept|dismiss|defer, reason }; dismiss/defer require a reason. |
| diffSummary | string | – | submit_revision only: one line summarizing what changed. |
| expert | string | – | init only: optional persona for the peer panel (see the expert tools). |
| prompt | string | – | init only: the plan/proposal under review. |
| revisedPlan | string | – | submit_revision only: the full revised plan addressing accepted issues. |
| sessionId | string | – | Loop id returned by init; required on every action except init. |
| verdict | string | – | submit_adjudication only: your adjudicated verdict after weighing the panel. |
No output schema declared.
No examples provided.
debugger ~300
Debugging specialist that produces ranked root-cause hypotheses and the smallest safe fix from a bug report, logs, and code - or says honestly that the evidence shows no bug. Use for crashes, failing tests, or wrong output. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
panel ~141
Return 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[], omitted[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| expert | string | – | Optional persona to preview the panel for; affects which providers/aliases are eligible. |
No output schema declared.
No examples provided.
plan-reviewer ~287
Work-plan reviewer that verifies a plan is executable before anyone builds. Use to validate an implementation plan for clarity, completeness, and gaps before starting significant work. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
researcher ~302
Research specialist for external libraries, frameworks, APIs, and open-source code. Use for 'how do I use X', best-practice, or 'why does this dependency behave this way' questions, with evidence and honest unverified flags. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
scope-analyst ~288
Pre-planning consultant that catches ambiguities, hidden requirements, and pitfalls before planning begins. Use when a request is vague or could be interpreted multiple ways. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
security-analyst ~287
Security engineer for threat modeling and vulnerability assessment. Use for auth/authorization changes, untrusted input handling, new endpoints, or a focused security audit. Fans out to the configured provider panel with this persona (advisory; each provider needs its key/CLI, rate limits apply) and returns a text-wrapped JSON envelope { results[] }.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | Working directory the provider runs in (used to resolve relative file refs). Defaults to the server process directory. |
| developerInstructions | string | – | Optional system/developer instructions injected verbatim; overrides the built-in persona for `expert`. |
| expert | string | – | Optional persona: architect, plan-reviewer, scope-analyst, code-reviewer, security-analyst, researcher, or debugger. On a named expert tool the tool's own persona wins and this is ignored. |
| files | array | – | Optional attachments for providers that read files (Grok/OpenRouter; inlined as context for Codex/Gemini). Each item is EXACTLY ONE of path/dir/file_id/file_url. |
| prompt | string | yes | The question or task for the provider(s)/expert. |
| reasoningEffort | string | – | Reasoning depth where the provider supports it (Grok, OpenRouter): low, medium, high, or none. CLI providers (Codex, Gemini) ignore it. |
No output schema declared.
No examples provided.
session-annotate ~98
Append 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.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | yes | Freeform text appended to the record's audit trail. |
| sessionId | string | yes | Id of the persisted session record to annotate. |
No output schema declared.
No examples provided.
session-get ~110
Fetch 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | session-revisit only: working directory for resolving the original file refs on the re-run; session-get ignores it. |
| sessionId | string | yes | Id of a persisted session record. |
No output schema declared.
No examples provided.
session-revisit ~135
Re-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 unknown.
| Name | Type | Req | Description |
|---|---|---|---|
| cwd | string | – | session-revisit only: working directory for resolving the original file refs on the re-run; session-get ignores it. |
| sessionId | string | yes | Id of a persisted session record. |
No output schema declared.
No examples provided.
What is the io.github.antonbabenko/deliberation MCP server?
io.github.antonbabenko/deliberation is an MCP server listed in the public MCP registry as io.github.antonbabenko/deliberation. Second opinions in Claude Code and any MCP host from GPT, Gemini, Grok, and 400+ OpenRouter models. This page covers its npm package (@antonbabenko/deliberation-mcp).
Is the io.github.antonbabenko/deliberation MCP server safe to use?
io.github.antonbabenko/deliberation scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.antonbabenko/deliberation MCP server expose?
io.github.antonbabenko/deliberation exposes 20 tools: ask-all, consensus, consensus-step, panel, ask-one, and 15 more. Their descriptions and schemas cost roughly 5,588 tokens of context every time the server is loaded.
Is the io.github.antonbabenko/deliberation MCP server still maintained?
io.github.antonbabenko/deliberation is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.antonbabenko/deliberation MCP server under?
io.github.antonbabenko/deliberation declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.