LLM Council MCP
Provides automated context resolution from GitHub repositories, allowing the council to ingest relevant repository information during deliberations.
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., "@LLM Council MCPShould we migrate our core database to DynamoDB before the Q3 launch?"
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.
LLM Council MCP
🏛️ Provenance & What This Fork Changes
Fork Lineage:
This project is an advanced, production-hardened fork of Andrej Karpathy's llm-council (expanded from az9713/llm-council).
Karpathy built the original llm-council as a fun "Saturday vibe-hack" — a lightweight web script to compare commercial frontier LLMs side-by-side using OpenRouter.
LLM Council MCP transforms that initial prototype into an enterprise deliberation engine and a headless consensus oracle for autonomous AI agents. Instead of humans manually querying a browser, agents like Claude Code and Google Antigravity call the council programmatically via the Model Context Protocol (MCP) whenever they face irreversible, high-stakes (Type-1) architectural dilemmas.
Related MCP server: tokonomix-council-mcp
⚡ Original vs. LLM Council MCP: Feature Comparison
Capability | Karpathy Original ( | LLM Council MCP (This Fork) |
Primary Consumer | Humans in a Web Browser | Autonomous AI Coding Agents (MCP) + Humans via Web UI |
Agent Interface | ❌ None (Web UI only) | Native FastMCP Server ( |
Model Infrastructure | Cloud-only via OpenRouter | Hybrid: Cloud (OpenRouter, Gemini, Groq) + Local vLLM ( |
Model Specialization | Generic system prompts | Domain Skill Injection: Models decorated with |
Board Profiles | Single static list of models | 7 Specialized Domain Boards: Cognitive Strategy, Code Craft, Deep Tech, SecOps, UI/UX Craft, Tech Scout, and Cloud Deliberation |
Deliberation Modes | Linear 3-stage execution | Dual-Engine: 3-Stage ADR Deliberation + Freeform Round Table Group Chat with unconstrained turn-taking |
Consensus Mechanics | Simple majority / averaging | Early Consensus Bypass, Weighted Consensus (by win rate), Multi-Chairman Ensembles, and Adversarial Validation |
Debate Protocol | ❌ None | Multi-round structured debate: Position → Critique → Rebuttal → Chairman Judgment |
Decision Output | Unbounded text transcript | Strict ≤150-word Markdown ADR (Verdict, Confidence, Recommendation, Dissenting Risk) |
Telemetry & Observability | ❌ None | Empirical Performance Dashboard (Elo win-rates, peer stats) + Live Process Telemetry Panel (L0–L3 detail, latency, tokens/s) |
Context Ingestion | ❌ Manual copy-paste | Automated Local Workspace & GitHub Repository context resolution |
Technology Scouting | ❌ None (Hallucinated from weights) | Autonomous Research Engine: Live PyPI/GitHub telemetry + DuckDuckGo search + local skills discovery |
Security & Auth | ❌ Unauthenticated local script | JWT session tokens, PBKDF2 credential hashing, Rate Limiting, and CORS isolation |
Deployment | Local scripts with hardcoded configs | 12-Factor Docker Compose stack with zero leaked host credentials via |
📸 Visual Tour of Capabilities
1. Stage 1: Domain-Specialized Independent Responses
Models operate as dedicated domain specialists rather than generic chatbots. Each seat evaluates the problem through an injected skill lens, providing evidence-backed technical trade-offs, confidence calibration (1–10), and physical constraint analysis.
Specialist Roles:
@deep-researchverifies primary documentation and specifications;@supply-chain-auditvalidates package pinning, license compliance, and maintainer surface;@first-principlesstrips framework marketing to benchmark raw compute/memory/IO physics.Peer Review & Ranking: In Stage 2, seats anonymously critique peer positions, expose hallucinations, and vote on a ranked ballot before the Chairman synthesizes the binding ADR.
2. Specialized Council Boards
Switch between dedicated expert boards with a single click or target specific boards programmatically via council_id in MCP calls:
🧠
cognitive-strategy: High-stakes architectural & strategic trade-offs (Red Team + First Principles + Deep Research).🛠️
code-craft: Deep refactoring, diff-risk minimization, and surgical simplicity (Antigravity Diff Risk + Qwen Verification + Claude Referee).🔬
deep-tech: Protocol RFCs, low-level binary formats, performance limits, and dependency audits.🛡️
sec-ops: Production security, zero-trust policies, OWASP audits, and SRE resilience.🎨
frontend-craft: Distinctive design systems, UI/UX DNA, and responsive client workflows.📡
tech-scout: Automated technology scouting, candidate radar, and adopt-vs-build evaluations.☁️
cloud-deliberation: Responsive zero-cost cloud and local models for fast fallback when host shims are offline.
3. Round Table Multi-Agent Group Chat & Live Process Telemetry
Engage in collaborative, unconstrained multi-agent discussions alongside the structured 3-stage deliberation pipeline:
Direct Conversational Collaboration: Mention
@allto broadcast or@model(e.g.@qwen,@antigravity) to target specific agents with tool-calling capabilities.Live Process Telemetry (L0–L3): Slide between detail levels to inspect step-by-step model reasoning, stage transitions, token generation speeds, and consensus voting metrics in real time.
4. Empirical Performance Dashboard
Track which models and domain skills deliver the most accurate evaluations based on historical peer review outcomes:
Leaderboard Metrics: Win rates, average peer rank, average confidence calibration, total queries, and unique model evaluations.
Model & Chairman Analytics: Inspect historical win percentages and peer alignment metrics across observation windows.
5. Advanced Consensus Modes & Deliberation Presets
Configure reasoning depth and consensus algorithms directly from the settings drawer:
Deliberation Presets:
⚡ Fast: Skips Stage 3 synthesis when unanimous peer consensus is detected; reuses cached answers.
⚖️ Balanced: Full 3-stage deliberation with weighted peer votes (default).
🧠 Deep: Structured reasoning passes, critique-and-revise, and devil's advocate challenge rounds.
⚔️ Debate: Multi-round adversarial debate: Position → Direct Critique → Rebuttal → Chairman Judgment.
Consensus Toggles: Multi-Chairman Ensemble, Win-Rate Weighted Consensus, Early Consensus Exit, and Sub-Question Decomposition.
🔌 Using as an MCP Oracle (Claude Code & Antigravity)
The repository bundles a standalone FastMCP server in mcp/ that lets AI coding assistants deliberate before committing dangerous or irreversible changes.
The 4-Point Gating Guardrail
To prevent agents from lazily delegating routine tasks, ask_council enforces a strict gating checklist:
Type-1 Decision: Must be irreversible or carry a high rollback cost (justified in
type1_rationale).Genuine Uncertainty: The agent must have attempted solo reasoning first and encountered a real conflict or unknown.
High Cost of Error: The cost of picking the wrong path must exceed ~35s + API token cost.
User Has Not Decided: Council informs open choices; it never overrides an explicit user directive.
Trivial or unjustified queries are rejected in milliseconds with ## Verdict: Gating Rejection without triggering backend LLM calls.
Output Schema (Bounded ≤150-Word ADR)
Calls to ask_council return a structured, high-density Markdown Architectural Decision Record:
## Verdict: Adopt SQLite-vec as the primary embedded vector store for sub-100k local embeddings.
**Confidence:** Consensus — 3 models evaluated (top ranked: local/antigravity@deep-research)
**Recommendation:** SQLite-vec delivers a single compiled C extension with zero external dependencies and guaranteed format stability through 2050. At <100k vectors, memory-mapped SIMD flat scan delivers sub-5ms latency with 100% recall.
**Dissenting risk:** Single primary maintainer risk; if scale exceeds 1M vectors or distributed out-of-core indexing is required, evaluate LanceDB.🚀 Quick Setup
Using an AI coding agent? Tell it: "Clone https://github.com/alkrcaaa/llm-council-mcp and install it by following
AGENT_INSTALL.md." That file also covers reporting issues and contributing via pull requests.
Prerequisites
Docker with Compose v2 (
docker compose versionworks)An OpenRouter API key for cloud models (models ending in
:freecost $0)
1. Install & start (one command)
git clone https://github.com/alkrcaaa/llm-council-mcp.git llm-council
cd llm-council
./setup.shOn the first run setup.sh:
creates
.envfrom.env.exampleand asks for your OpenRouter key,generates a random admin password and
JWT_SECRET,builds and starts the backend + frontend containers,
prints the URL and login credentials.
Open http://localhost:5173 and sign in with the printed credentials (username admin). Change the password from the UI after the first login.
Command | What it does |
| Start (or rebuild after |
| Stop the containers. Conversations and settings stay in the |
| Follow container logs |
| Run your Claude Code / Antigravity CLI as council seats (see below) |
2. Set up your models
The built-in boards support host-side agent shims (local/claude-code, local/antigravity), a local vLLM server (local/qwen3.6-27b) and API-key providers (custom/gemini-*, custom/groq, OpenRouter). On a fresh install those seats won't answer until you configure them. The quickest path:
Open Configure Models in the UI.
Create your own council (or edit a copy of a built-in one) using OpenRouter model IDs, e.g.
google/gemma-4-31b-it:free,nvidia/nemotron-3-super-120b-a12b:free. At least 2 seats are required. The free lineup changes often; see the current list at openrouter.ai/models?q=free.Optional: under Model Studio & Providers, add other OpenAI-compatible endpoints (Ollama, LM Studio, vLLM, Groq, Gemini, DeepSeek, ...) and use them as seats.
Free OpenRouter models are rate-limited, so expect occasional 429 errors on busy models; the council continues with whichever seats answered.
3. Optional: bring the built-in boards online
Each built-in seat type can be activated on your machine. Enable whichever you have; seats you don't enable simply fail and the council continues with the rest.
Claude Code & Antigravity seats (local/claude-code, local/antigravity)
Small host-side bridges in infra/local-models/ turn a logged-in CLI into an OpenAI-compatible endpoint the backend container can call. They must run on the host (not in Docker) because they use your CLI login. Each request is a real CLI call on your account, and the CLIs run in restricted/sandboxed mode (no tools, no file writes).
Install and log in to the CLI(s) you have: Claude Code (
claude, run it once to log in) and/or Google Antigravity (agy).Run:
./setup.sh shimsIt detects which CLIs are installed, generates a per-shim secret in
.env, andLinux (systemd): installs and starts user services
llm-council-claude-code-shim/llm-council-antigravity-shim, bound to the Docker bridge address so only containers (not your LAN) can reach them. Logs:journalctl --user -u llm-council-claude-code-shim -f.macOS / no systemd: prints the command to run each shim in a terminal.
It restarts the backend so it picks up the secrets. The Claude seats should now answer.
To remove them: systemctl --user disable --now llm-council-claude-code-shim llm-council-antigravity-shim and delete the unit files in ~/.config/systemd/user/.
Local model seat (local/qwen3.6-27b)
Point it at any OpenAI-compatible server in .env, then re-run ./setup.sh:
# vLLM (the author's setup)
QWEN_BASE_URL=http://host.docker.internal:8002/v1
QWEN_MODEL_ID=/models/qwen3.6-27b
# or Ollama (on Linux start it with OLLAMA_HOST=0.0.0.0 so containers can reach it)
QWEN_BASE_URL=http://host.docker.internal:11434/v1
QWEN_MODEL_ID=qwen3:8bGemini & Groq seats (custom/gemini-3-6-flash, custom/groq)
Add them under Configure Models → Model Studio & Providers with your own API keys (both have free tiers). The seat ID is derived from the friendly name, so name them exactly Gemini 3.6 Flash (→ custom/gemini-3-6-flash) and Groq (→ custom/groq) for the built-in boards to pick them up.
Configuration reference
All settings live in .env (see .env.example for every option):
Variable | Purpose |
| Cloud models via OpenRouter |
| Initial web UI login |
| Signs login tokens; required while |
|
|
| Folder of skill prompts for |
| Optional local model server and host CLI shims |
After editing .env, run ./setup.sh again to apply it.
Opening the UI to your LAN? Keep
AUTH_ENABLED=true: the API spends your API credits.
4. Connect MCP to Your Agents
cd mcp
bash install.sh
cd ..Claude Code (~/.claude.json):
{
"mcpServers": {
"llm-council": {
"command": "/absolute/path/to/llm-council-mcp/mcp/.venv/bin/python",
"args": ["/absolute/path/to/llm-council-mcp/mcp/server.py"],
"timeout": 140000
}
}
}Antigravity (~/.gemini/config/mcp_config.json):
{
"mcpServers": {
"llm-council": {
"command": "/absolute/path/to/llm-council-mcp/mcp/.venv/bin/python",
"args": ["/absolute/path/to/llm-council-mcp/mcp/server.py"],
"timeout": 140000
}
}
}🛠️ Tech Stack
Core Engine: FastAPI, Async HTTPX, Pydantic, uv
Protocol: FastMCP (Model Context Protocol stdio transport)
Frontend: React 18, Vite, Obsidian & Azure Design System, React Markdown
Models: OpenRouter, vLLM (Qwen 2.5/3.6/3.8), Local Host Shims (Claude Code CLI, Antigravity CLI), Gemini, Groq
Containerization: Docker & Docker Compose
📜 Acknowledgments & License
Original concept and initial implementation by Andrej Karpathy
Extended multi-feature baseline by az9713
Released under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Multi-LLM council: 25+ frontier models in parallel, consensus scoring, verdict-first code review.
Commission a multi-model AI spec committee from your agent; get rubric-scored, build-ready specs.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Trust gate for AI agents: multi-model adversarial consensus, signed and verifiable verdicts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates AI Consensus into coding agents, routing decisions through three frontier AI models for independent analysis and cross-examination, returning a recommendation and strongest dissent.33 npmMIT

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.1194 npm1MIT- FlicenseAqualityBmaintenanceEnables AI coding agents to run multi-model council deliberations by concurrently querying OpenAI and DeepSeek for architectural planning and adversarial critique, then synthesizing the results into actionable implementation decisions.5-
- AlicenseAqualityBmaintenanceEnables coding agents to request guarded code and architecture reasoning from multiple AI models through a single MCP server, with modes for direct answers, parallel councils, ordered chains, and structured debates, plus reusable context and audit tracing.28MIT