Atlas / MCP servers / adrian-sandwich / magi-council

magi-councilCAUTION

mcp/adrian-sandwich/magi-council

MAGI council of three AI heads (Melchior/Balthasar/Casper) that deliberate, vote and execute plans — local-first multi-agent deliberation with a memory graph, worktree-isolated production mode and auto-merge. Evangelion-style web UI; swappable providers (kimi/codex/claude/Ollama).

Verdict
CAUTION
Grade
B
Trust score
89 /100
Exposed tools
7 5r · 2w · 0d
Transport
—
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://github.com/Adrian-Sandwich/magi-council/actions/workflows/ci.yml)

A MAGI council of three heads (Melchior / Balthasar / Casper — the persona lives in the seat, the provider is swappable: kimi, codex, claude, Ollama, any CLI or OpenAI-compatible API) that deliberate on your questions and vote on decisions, with a ruling, minority report, mind changes between rounds and human arbitration. With memory: a local knowledge graph that ingests your agent sessions and decisions and injects them into every deliberation. And in production mode: the council approves a plan, an executor implements it on a dedicated branch, the council reviews the diff and — on unanimous approval — it merges itself.

The UI is a MAGI-style web app (design based on TomaszRewak/MAGI) with a single text box, like a CLI. Runs on Windows, macOS and Linux.

What you need to get started (from scratch, on any machine)

  1. Python 3.14+.
  2. A reachable Postgres (any standard install; the system default is

dbname=debate host=localhost, port 5432, user = your OS user). If you have none, on Windows the repo ships a portable postmaster in experiments/pg and bin\start-magi.bat starts it.

  1. At least one head (with no heads the system runs "degraded" and only

you can close decisions):

  • kimi (or another MCP-capable agent CLI: claude, ...) — investigates

the repo with tools and votes via MCP;

  • codex or another plain-text CLI — votes with the journal inlined in

the prompt (journal: "inline" mode);

  • API heads: type: "api" with provider anthropic (Messages

API, claude-*), openai or moonshot (kimi, OpenAI-compatible), the key in the environm

Read from source at commit 960e72a2079eOBSERVED · 2026-10-12
02

Exposed tools (7)

5 read · 2 write · 0 destructive.

ToolRiskDescription
cast_positionreadVoto estructurado de una cabeza: publica el razonamiento en el journal
get_decisionreadEl dossier de una decisión: estado, ronda, ruling, confidence,
list_threadsreadLista los threads con cantidad de mensajes y timestamp del último.
post_messagewritePublica un mensaje en el thread y devuelve su id.
read_threadreadLee mensajes de un thread con id > since_id, ordenados por id.
start_decisionwriteAbre una decisión MAGI: las cabezas la investigan, debaten en el
wait_messagesreadEspera mensajes nuevos (id > since_id) hasta timeout_secs.
03

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (6 observation(s))
Shell
declared (1 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (7)

MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
debate-mcp/doctor.py:68
__import__(module)
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
debate-mcp/magi_ui.py:819
print(f"[magi_ui] MAGI System en http://127.0.0.1:{PORT} — token de sesión: {TOKEN}")
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
debate-mcp/acceptance_run.py:26
UI = "http://127.0.0.1:8051"
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:111
Then open **http://127.0.0.1:8051**.
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:421
"base_url": "http://127.0.0.1:11434/v1", "timeout_secs": 600 }
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:488
┌─────────────────────────────── http://127.0.0.1:8051
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
debate-mcp/README.md:113
.venv/bin/python magi_ui.py        # http://127.0.0.1:8051

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 960e72a2079efull audit observations/trust-audit/mcp-server/adrian-sandwich__magi-council.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-12960e72a2079eCAUTIONB89first audit
05

Questions

What is the magi-council MCP server?

MAGI council of three AI heads (Melchior/Balthasar/Casper) that deliberate, vote and execute plans — local-first multi-agent deliberation with a memory graph, worktree-isolated production mode and auto-merge. Evangelion-style web UI; swappable providers (kimi/codex/claude/Ollama).

What tools does magi-council expose?

7 in total: 5 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is magi-council safe to connect to an agent?

With care. The audit graded it B (89/100) and found 7 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does magi-council need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (960e72a2079e), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement