# council-mcp

> Three-tier AI agent MCP orchestration system: Chancellor (Opus), Executor (Sonnet), Aide (Haiku)

- **URL**: https://www.freshcrate.ai/projects/council-mcp
- **Author**: iamvirul
- **Category**: MCP Servers
- **Latest version**: `v0.8.0` (2026-05-18)
- **License**: MIT
- **Source**: https://github.com/iamvirul/the-council
- **Homepage**: https://github.com/iamvirul/the-council#readme
- **Language**: TypeScript
- **GitHub**: 5 stars
- **Registry**: npm (`council-mcp`)
- **Tags**: `agent`, `ai`, `anthropic`, `claude`, `mcp`, `model-context-protocol`, `multi-agent`, `npm`, `orchestration`

## Description

Three-tier AI agent MCP orchestration system: Chancellor (Opus), Executor (Sonnet), Aide (Haiku)

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v0.8.0` | 2026-05-18 | High | ### Added - **Numeric quality scores on Supervisor verdicts** — every Supervisor review now produces an optional integer `score` (0–100) alongside the boolean `approved`. Scoring rubric: correctness (40 pts) + completeness (30 pts) + intent alignment (30 pts). Scores are independent of the approval flag — a 75-point output can still pass if the task warrants it. - **`COUNCIL_MIN_SCORE` env var** — optional score gate (default: `0` = disabled). When set to a value 1–100, any Supervisor score bel |
| `v0.7.0` | 2026-05-13 | High | ### Added - **Agent feedback loops** — closed two new inter-agent communication channels:   - **Loop 2 (Executor → Chancellor coherence check)** — after all execution steps complete, the Chancellor is re-invoked in review mode (Haiku model, 1 turn, no file tools) to compare the original plan against the actual execution summary. Returns a structured `ChancellorCoherenceCheck` with `coherent` flag, `assessment`, `gaps`, and `recommendations`. Stored on the session as `coherence_check` and render |
| `v0.6.0` | 2026-05-05 | High | ### Added - **Infrastructure retry with exponential backoff** (`withAgentRetry`) — every agent subprocess call is now wrapped in a 3-attempt retry layer with 1 s → 2 s → 4 s backoff (capped at 8 s). Only transient infrastructure errors (`AGENT_SDK_ERROR`, `AGENT_TIMEOUT`) trigger retries; parse/schema failures propagate immediately. Retry context (role, step) is logged at `warn` level on each attempt. - **Per-agent subprocess timeout** (`COUNCIL_AGENT_TIMEOUT_MS`) — hard deadline for each claud |
| `v0.5.0` | 2026-04-25 | High | ### Added - **Supervisor evaluation loop** — the Supervisor is now an active quality gate, not advisory only. When it rejects an agent output (`approved: false`), the orchestrator re-invokes the agent with the flags and recommendation appended as feedback, up to `COUNCIL_EVAL_RETRIES` times (default: 2 → 3 total attempts). If the retry budget is exhausted and the output is still flagged, the result is surfaced anyway with the flags visible — no silent passes. - `COUNCIL_EVAL_RETRIES` env var — |
| `0.4.0` | 2026-04-21 | Low | Imported from npm (0.4.0) |
| `v0.4.0` | 2026-04-20 | High | ### Added - **Per-agent tool access** — Chancellor and Aide now have tool access, configurable via `AGENT_TOOLS` constants:   - Chancellor: `Read`, `Glob`, `Grep` (read-only — inspects codebase before planning, never writes)   - Executor: `Read`, `Write`, `Edit`, `Bash`, `Glob`, `Grep` (unchanged)   - Aide: `Read` (can read files before transforming them)   - Supervisor: none (pure review, no side effects) - `AGENT_TOOLS` constant in `src/domain/constants/index.ts` — single source of truth for |
| `v0.4.0` | 2026-04-20 | High | ### Added - **Per-agent tool access** — Chancellor and Aide now have tool access, configurable via `AGENT_TOOLS` constants:   - Chancellor: `Read`, `Glob`, `Grep` (read-only — inspects codebase before planning, never writes)   - Executor: `Read`, `Write`, `Edit`, `Bash`, `Glob`, `Grep` (unchanged)   - Aide: `Read` (can read files before transforming them)   - Supervisor: none (pure review, no side effects) - `AGENT_TOOLS` constant in `src/domain/constants/index.ts` — single source of truth for |
| `v0.4.0` | 2026-04-20 | High | ### Added - **Per-agent tool access** — Chancellor and Aide now have tool access, configurable via `AGENT_TOOLS` constants:   - Chancellor: `Read`, `Glob`, `Grep` (read-only — inspects codebase before planning, never writes)   - Executor: `Read`, `Write`, `Edit`, `Bash`, `Glob`, `Grep` (unchanged)   - Aide: `Read` (can read files before transforming them)   - Supervisor: none (pure review, no side effects) - `AGENT_TOOLS` constant in `src/domain/constants/index.ts` — single source of truth for |
| `v0.4.0` | 2026-04-20 | High | ### Added - **Per-agent tool access** — Chancellor and Aide now have tool access, configurable via `AGENT_TOOLS` constants:   - Chancellor: `Read`, `Glob`, `Grep` (read-only — inspects codebase before planning, never writes)   - Executor: `Read`, `Write`, `Edit`, `Bash`, `Glob`, `Grep` (unchanged)   - Aide: `Read` (can read files before transforming them)   - Supervisor: none (pure review, no side effects) - `AGENT_TOOLS` constant in `src/domain/constants/index.ts` — single source of truth for |
| `v0.3.0` | 2026-04-17 | High | ### Added - **Persistent session memory** — sessions now survive MCP server restarts via an optional `COUNCIL_PERSIST` env var:   - `memory` (default) — in-process LRU Map, no breaking change   - `file` — JSON files at `~/.council/sessions/<id>.json`, zero dependencies   - `sqlite` — SQLite at `~/.council/council.db` via `better-sqlite3`, WAL mode for safe concurrent access - **`SessionStore` interface** — all backends implement a common contract; swappable without touching orchestration code - |

## Citation

- HTML: https://www.freshcrate.ai/projects/council-mcp
- Markdown: https://www.freshcrate.ai/projects/council-mcp.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/council-mcp/deps

_Generated by freshcrate.ai. Indexes npm releases for AI-agent ecosystem packages._
