OpenClaw Consensus MCP
9-LLM consensus inside Claude — a hallucination guardrail you can call as a tool.
Built by yanmiayn — 16yo solo dev from Korea, building 9-LLM consensus to fight hallucinations.
What it does
OpenClaw runs the same prompt across 9 frontier LLMs (Claude, GPT, Gemini, Llama, Mistral, etc.), then returns:
- a consensus answer (with confidence + which models contributed),
- a disagreement score (high = your single LLM is probably about to hallucinate), and
- a cheapest route (pick the smallest model combo that still hits your quality bar).
This MCP server exposes those three capabilities as tools so Claude Desktop / Claude Code can call them mid-conversation.
Why consensus?
A single LLM can confidently make things up. Nine models rarely make up the same thing. When 9 models agree, you can trust the answer; when they fan out, you have a cheap, calibrated hallucination signal — before the user sees the wrong answer.
Install
pip install openclaw-consensus-mcp
# or
uv pip install openclaw-consensus-mcp
You also need a RapidAPI key for the OpenClaw Consensus API:https://rapidapi.com/yanmiayn/api/openclaw-consensus
Set it in your environment:
export RAPIDAPI_KEY="your-rapidapi-key"
Claude Desktop config
Add to ~/.claude/claude_desktop_config.json (macOS/Linux) or%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"openclaw-consensus": {
"command": "openclaw-consensus",
"env": {
"RAPIDAPI_KEY": "your-rapidapi-key"
}
}
}
}
For Claude Code:
claude mcp add openclaw-consensus -- openclaw-consensus
Tools
consensus(prompt, mode="balanced")
Get a 9-LLM consensus answer.
- prompt (string) — the question.
- mode (string, default
balanced) —deep(9 models),balanced(5), orfast(3).
Returns
{
"answer": "string",
"confidence": 0.0,
"models_used": ["claude-opus-4.7", "gpt-5.1", "..."],
"disagreement": 0.0
}
disagreement_score(prompt)
How much the 9 models disagree on a prompt — a hallucination warning signal.
Returns
{
"score": 0.0,
"per_model": { "model-id": "answer summary" }
}
cheapest_route(prompt, target_quality=0.85)
Cheapest model combo that meets a quality threshold (0..1).
Returns
{
"models": ["..."],
"estimated_cost_usd": 0.0,
"estimated_quality": 0.0
}
Local development
git clone https://github.com/yanmiayn/openclaw-consensus-mcp
cd openclaw-consensus-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
Smoke-test the server with the official MCP Inspector:
npx @modelcontextprotocol/inspector openclaw-consensus
Publish
uv build
uv publish # to PyPI
mcp-publisher publish # to the official MCP Registry
License
MIT — see LICENSE.