Install
$ agentstack add mcp-salutaris91-llm-council-mcp-server Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
LLM Council MCP
[English Version](#english-version) | [Deutsche Version](#deutsche-version)
English Version
Table of Contents
- [What it is (and how it works)](#what-it-is-and-how-it-works)
- [Installation & Setup](#installation--setup)
- [Quick Start / First Run](#-quick-start--first-run)
- [Setup UI & Settings Storage](#setup-ui--settings-storage)
- [Usage](#usage)
- [Tool Registration (Manual)](#tool-registration-manual-alternative-to-setup-ui)
- [Troubleshooting](#-troubleshooting)
- [Credits](#credits)
A lightweight, local MCP server for your Mac based on the original idea by Andrej Karpathy (karpathy/llm-council) with prompt/workflow templates ported from DmitryBMsk/llm-council-plus. It replicates the 3-stage workflow using the exact original prompts directly against OpenRouter, without any Docker or NAS dependencies. Works with Claude Code, Codex CLI, and Antigravity via MCP.
What it is (and how it works)
This tool replicates the AI deliberation process of the original project in three simple steps:
- Stage 1 (Answering): Several AI models answer your question independently and at the same time.
- Stage 2 (Reviewing): The models read all the answers without knowing who wrote which answer (blind review). Each model ranks the answers from best to worst to prevent self-bias.
- Stage 3 (Synthesis): A final "Chairman" model reads all answers and reviews, and writes a single, balanced response for you. If the Chairman fails, another model automatically takes over.
The AI prompt instructions and settings are copied exactly from the original project to ensure the same high quality.
What is currently left out (kept simple for now, but planned as optional features later):
- Web Search / Internet Access in Stage 1: Currently, models answer based on training and context. (Planned as an optional feature in a future release).
- Editable Prompts / Custom Roles (e.g. Critic mode) in the UI: Prompt templates are currently hardcoded for reliability. (Planned as an optional settings section).
- Chat History & Interactive Discussion: Currently designed for deep-dive single questions. (An optional discussion mode between Claude and the Chairman to decide which files are needed is planned).
- Direct File Access: The server does not read your workspace directly for security/simplicity. Your client (Claude Code, Antigravity) reads the files and passes them as parameters.
Installation & Setup
Method A: Quick Onboarding via PyPI (Recommended)
You can run the Setup UI directly from PyPI without cloning the repository (requires the package installer uv to be installed, e.g., via curl -LsSf https://astral.sh/uv/install.sh | sh or brew install uv):
uvx --from llm-council-mcp-server llm-council-setup
This automatically opens http://127.0.0.1:5151 in your browser.
Method B: Manual Clone (for Development)
If you want to modify the source code locally:
git clone https://github.com/salutaris91/llm-council-mcp-server.git
cd llm-council-mcp-server
python3 -m venv venv
source venv/bin/activate
# Install dependencies (either via requirements.txt or directly using pyproject.toml)
pip install -r requirements.txt # Or: pip install .
Run the Setup UI locally:
python3 setup_ui.py
🚀 Quick Start / First Run
Follow these steps to get up and running:
- Launch the Setup UI:
- Run
uvx --from llm-council-mcp-server llm-council-setupin your terminal. This will automatically open the local configuration panel in your web browser.
- Configure Settings:
- For
ask_internal_council(Light Mode), no OpenRouter API key is required. - For the full
ask_councilmode, create an API key at openrouter.ai/keys, make sure the account has a small funded balance, paste the key, select your preferred council and Chairman models, and click Save.
- Choose Exposed Tools:
- Keep both tools enabled, or hide one of them if you only want your MCP host to offer the free internal council or the full OpenRouter council.
- Register the Server:
- Under the Install section of the Setup UI, click the Install button next to your desired tool (Claude Code, Codex CLI, or Antigravity).
- Restart Your Tool:
- Fully restart your MCP-enabled editor/client (e.g. reload Antigravity) to apply the changes.
- Start Deliberating:
- In your chat client, run a query (see [Usage](#usage) below).
Setup UI & Settings Storage
The Setup UI provides a user-friendly interface to manage your council settings. It features:
- Language Switcher: Toggle the UI dynamically between German and English.
- Model Presets (Quick & Deep): Instantly switch between fast models (for quick checks) and highly capable reasoning models (for deep architectural decisions).
- Advanced / Expert Settings: Adjust the AI's "creativity" (temperatures) for each of the three stages and configure custom token limits.
- Tool Visibility Switches: Expose or hide
ask_internal_councilandask_councilindividually. Disabled tools are not offered to the MCP host after restart. - Auto-Open Browser Toggle: Choose whether the Setup UI should automatically open your browser on startup.
- Tool Installer: View the status (Installed/Not Installed) and register/unregister the MCP server in Claude Code, Codex CLI, and Antigravity with a single click.
Your configuration is saved to a settings.json file in your user config directory (e.g., ~/Library/Application Support/llm-council on macOS). Legacy Note: If you have an existing .env file from manual setups, it will be automatically imported into settings.json on the first start, and can be safely removed afterwards.
Usage
The server exposes two MCP tools:
ask_internal_council(Light Mode):
- No API Key / No Cost: Runs entirely locally on your host agent's current subscription.
- How it works: It instantly returns a structured prompt directing your host agent to simulate 5 distinct perspectives (Pragmatist, Architect, Skeptic, Clean Code Advocate, UX Thinker), debate them internally, and synthesize a final recommendation.
- Note on Diversity: Since all perspectives are simulated by the same single model, the diversity is limited (shared blind spots).
ask_council(Full Mode):
- Real Multi-Model Consensus: Requires an OpenRouter API key and query costs.
- How it works: Queries multiple different real AI models in parallel, lets them anonymously review and rank each other, and uses a final Chairman model to synthesize the results. Takes about 30 to 120 seconds.
Ask your MCP host to query the respective tool, passing any code context you want it to evaluate.
Example Prompts:
- "Use the internal council to analyze whether we should use Redis or Memcached here."
- "Ask the council to review my implementation of this sorting algorithm."
What happens under the hood (for the full ask_council mode): The server will run the 3-stage consensus pipeline. Because this involves multiple parallel and sequential LLM calls, the tool response typically takes 30 to 120 seconds to complete. Some hosts (Antigravity) show live progress, others (Codex) only a spinner — the call continues normally and typically takes 30–120 s depending on the models (occasionally a bit longer). Simply wait until the result appears. It will return a formatted Markdown report consisting of the Chairman's synthesis, followed by the individual models' responses and rankings.
Tool Registration (Manual, alternative to Setup UI)
1. If installed via PyPI (Method A)
Claude Code
claude mcp add llm-council --scope user -- uvx --from llm-council-mcp-server llm-council-mcp
Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.llm-council]
command = "uvx"
args = ["--from", "llm-council-mcp-server", "llm-council-mcp"]
Antigravity
Add to the configuration file located at ~/.gemini/config/mcp_config.json (do not use ~/.gemini/antigravity/):
{
"mcpServers": {
"llm-council": {
"command": "uvx",
"args": ["--from", "llm-council-mcp-server", "llm-council-mcp"]
}
}
}
2. If cloned manually (Method B)
Replace /path/to/venv/bin/python3 and /path/to/llm-council-mcp/server.py with your absolute paths.
Claude Code
claude mcp add llm-council --scope user -- /path/to/venv/bin/python3 /path/to/llm-council-mcp/server.py
Codex CLI (~/.codex/config.toml)
[mcp_servers.llm-council]
command = "/path/to/venv/bin/python3"
args = ["/path/to/llm-council-mcp/server.py"]
Antigravity (~/.gemini/config/mcp_config.json)
{
"mcpServers": {
"llm-council": {
"command": "/path/to/venv/bin/python3",
"args": ["/path/to/llm-council-mcp/server.py"]
}
}
}
🛠️ Troubleshooting
- Server not showing up in tool?
- Fully restart the client application (Claude Code, Codex, or Antigravity). MCP servers are loaded on startup.
- Antigravity isn't picking up the server?
- Verify that the server is written to
~/.gemini/config/mcp_config.json. If you manually created a file in~/.gemini/antigravity/, delete it and use the correct path. - OpenRouter API Errors (e.g. 401, 402)?
- Open the Setup UI and double-check your API key. Make sure your OpenRouter account has positive credit.
- Check the Logs:
- Standard error logs are captured by your MCP host. Check your tool's log output or terminal window for details.
Releasing (Maintainer)
This repository is set up with Trusted Publishing to PyPI via GitHub Actions. Releases are triggered tokenless using OIDC.
To release a new version:
- Update the version string in
_version.py(e.g.0.2.0). This is the single
source of truth — pyproject.toml, the installer pin, and the version shown in the Setup UI header all derive from it automatically, so there is no separate place to update the displayed version.
- Commit and push the changes to
main. - Create and push a version tag matching
v*.*.*:
``bash git tag -a v0.2.0 -m "v0.2.0" git push origin v0.2.0 ``
- GitHub Actions will automatically build the package and publish it to PyPI.
- Create a GitHub Release referencing the new tag.
- Run the Setup UI or installer to update your local configuration file to point to the new version pin.
Credits
- Original Idea: Andrej Karpathy — karpathy/llm-council
- Prompt/Workflow Templates: Ported from DmitryBMsk/llm-council-plus
- This MCP Server: Alexander Deja — anderzlabs.de
Deutsche Version
Inhaltsverzeichnis
- [Was das ist (und wie es funktioniert)](#was-das-ist-und-wie-es-funktioniert)
- [Installation & Setup](#installation--setup-1)
- [Schnellstart / Erster Lauf](#-schnellstart--erster-lauf)
- [Setup-UI & Speicherort der Einstellungen](#setup-ui--speicherort-der-einstellungen)
- [Nutzung](#nutzung)
- [Tool-Registrierung (Manuell)](#tool-registrierung-manuell-alternativ-zur-setup-ui)
- [Fehlerbehebung](#-fehlerbehebung)
- [Credits](#credits-1)
Ein schlanker, lokaler MCP-Server für deinen Mac basierend auf der Originalidee von Andrej Karpathy (karpathy/llm-council) mit Prompt-/Workflow-Vorlagen portiert aus DmitryBMsk/llm-council-plus. Er bildet den 3-Stufen-Workflow mit den exakten Original-Prompts direkt gegen OpenRouter nach, ohne Docker- oder NAS-Abhängigkeit. Nutzbar aus Claude Code, Codex CLI und Antigravity über MCP.
Was das ist (und wie es funktioniert)
Dieses Tool bildet den Entscheidungsprozess des Originalprojekts in drei einfachen Schritten ab:
- Stufe 1 (Antworten): Mehrere KI-Modelle beantworten deine Frage gleichzeitig und unabhängig voneinander.
- Stufe 2 (Bewerten): Die Modelle lesen alle Antworten, ohne zu wissen, welches Modell welche Antwort geschrieben hat (Blindverkostung). Jedes Modell bewertet die Antworten, um Eigenvoreingenommenheit zu verhindern.
- Stufe 3 (Zusammenfassen): Ein finales "Chairman"-Modell liest alle Antworten und Bewertungen und verfasst eine ausgewogene Zusammenfassung für dich. Sollte das Chairman-Modell ausfallen, springt automatisch ein anderes Modell ein.
Die KI-Anweisungen (Prompts) und Einstellungen wurden exakt aus dem Originalprojekt übernommen, um die gleiche hohe Qualität der Antworten zu garantieren.
Was aktuell bewusst weggelassen wurde (für maximale Einfachheit – später als optionale Funktionen geplant):
- Web-Suche / Internetzugriff in Stufe 1: Modelle antworten aktuell basierend auf ihrem Wissen und dem Kontext. (Als optionale Funktion für spätere Releases geplant).
- Bearbeitbare Prompt-Vorlagen / Eigene Rollen (z. B. Kritiker-Modus) in der UI: Prompt-Vorlagen sind für stabile Ergebnisse fest hinterlegt. (Als optionaler Einstellungsbereich geplant).
- Chat-Verlauf & Interaktive Diskussion: Aktuell für präzise Einzelanfragen konzipiert. (Ein optionaler Diskussionsmodus zwischen Client und Chairman zur gemeinschaftlichen Ermittlung benötigter Dateien ist geplant).
- Direkter Dateizugriff: Der Server liest deine Dateien aus Sicherheits- und Einfachheitsgründen nicht selbst. Dein Client (Claude Code, Antigravity) liest den Code aus und übergibt ihn automatisch.
Installation & Setup
Methode A: Schnellstart via PyPI (Empfohlen)
Du kannst die Setup-Oberfläche direkt über PyPI ausführen, ohne das Repository klonen zu müssen (erfordert ein installiertes uv, z. B. installierbar via curl -LsSf https://astral.sh/uv/install.sh | sh oder brew install uv):
uvx --from llm-council-mcp-server llm-council-setup
Dies öffnet automatisch http://127.0.0.1:5151 in deinem Browser.
Methode B: Manueller Klon (für Entwickler)
Wenn du den Quellcode lokal anpassen möchtest:
git clone https://github.com/salutaris91/llm-council-mcp-server.git
cd llm-council-mcp-server
python3 -m venv venv
source venv/bin/activate
# Abhängigkeiten installieren (entweder über requirements.txt oder pyproject.toml)
pip install -r requirements.txt # Oder: pip install .
Lokale Setup-UI starten:
python3 setup_ui.py
🚀 Schnellstart / Erster Lauf
Befolge diese Schritte, um direkt loszulegen:
- Setup-UI starten:
- Führe
uvx --from llm-council-mcp-server llm-council-setupim Terminal aus. Dadurch öffnet sich die lokale Konfigurationsoberfläche in deinem Browser.
- Einstellungen konfigurieren:
- Für
ask_internal_council(Light-Modus) brauchst du keinen OpenRouter-API-Key. - Für den vollwertigen
ask_council-Modus erstellst du einen API-Key auf openrouter.ai/keys, stellst ein kleines Guthaben sicher, trägst den Key ein, wählst deine bevorzugten Council- und Chairman-Modelle und klickst auf Speichern.
- Sichtbare Tools wählen:
- Lass beide Tools aktiv oder blende eines aus, wenn dein MCP-Host nur das kostenlose interne Council oder nur das vollständige OpenRouter-Council anbieten soll.
- Server registrieren:
- Klicke im Bereich Install der Setup-UI auf den Button Install neben dem Tool deiner Wahl (Claude Code, Codex CLI oder Antigravity).
- Tool neu starten:
- Starte deinen MCP-Client / Editor (z. B. Antigravity) komplett neu, um die Registrierung zu laden.
- Council anfragen:
- Stelle deine Frage im Chat-Interface (siehe [Nutzung](#nutzung-1) unten).
Setup-UI & Speicherort der Einste
…
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: salutaris91
- Source: salutaris91/llm-council-mcp-server
- License: MIT
- Homepage: https://www.anderzlabs.de/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.