# consensus-step

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.

Agent View of the PolicyLayer registry record for `consensus-step`. HTML page: https://policylayer.com/tools/deliberation/consensus-step

## Facts

- Tool: `consensus-step`
- Server: Deliberation (`antonbabenko/deliberation`) — https://policylayer.com/tools/deliberation.md
- Homepage: https://github.com/antonbabenko/deliberation
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "consensus-step",
    "arguments": {}
  }
}
```

## Why consensus-step is rated High

This tool executes external operations (API calls to Codex, Gemini, Grok, OpenRouter models) whose side effects are deterministic but outcome-dependent on the host model's inputs and iterative decisions. It is not Read (generates structured outcomes, not just retrieval), not Write (no persistent data creation by this tool), not Destructive (ephemeral session store, no irreversible changes), not Financial.

From the tool's own definition: "Tool description states it 'fans out to the providers' and makes external API calls via 'dispatch_peers action calls external providers', triggering unbounded execution across 400+ models."

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

AI agents invoke consensus-step to trigger actions in Deliberation. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Deliberation:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "consensus-step": {
      "limits": [
        {
          "counter": "consensus-step_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Deliberation (10)

- `consensus` — Execute — https://policylayer.com/tools/deliberation/consensus.md
- `gemini` — Execute — https://policylayer.com/tools/deliberation/gemini.md
- `gemini-reply` — Execute — https://policylayer.com/tools/deliberation/gemini-reply.md
- `grok` — Execute — https://policylayer.com/tools/deliberation/grok.md
- `grok-reply` — Execute — https://policylayer.com/tools/deliberation/grok-reply.md
- `openrouter` — Execute — https://policylayer.com/tools/deliberation/openrouter.md
- `openrouter-reply` — Execute — https://policylayer.com/tools/deliberation/openrouter-reply.md
- `analyze` — Read — https://policylayer.com/tools/deliberation/analyze.md
- `openrouter-list` — Read — https://policylayer.com/tools/deliberation/openrouter-list.md
- `session-get` — Read — https://policylayer.com/tools/deliberation/session-get.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=deliberation · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/deliberation
