# The High Council (npm · the-high-council)

Several models from different labs plan in a blind proposal, debate and review loop. Your own keys.

- Trust score: 68/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- npm · `the-high-council`: 68/100 (this document), [markdown](https://verifymcp.io/servers/muad-yasin-the-high-council/the-high-council.md), [page](https://verifymcp.io/servers/muad-yasin-the-high-council/the-high-council)

## Channel facts

- Registry: `npm`
- Package: `the-high-council`
- Version: `0.7.8`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 95 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1458 tokens (~97/item across 15 items; 15 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 80/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 39% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the The High Council MCP server?

The High Council runs locally as an npm package, launched with npx -y the-high-council. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add muad-yasin-the-high-council -- npx -y the-high-council
```

### Cursor

```json
{
  "mcpServers": {
    "muad-yasin-the-high-council": {
      "command": "npx",
      "args": [
        "-y",
        "the-high-council"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "muad-yasin-the-high-council": {
      "command": "npx",
      "args": [
        "-y",
        "the-high-council"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add muad-yasin-the-high-council -- npx -y the-high-council
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "muad-yasin-the-high-council": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "the-high-council"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add muad-yasin-the-high-council --command npx --arg -y --arg the-high-council
```

### Hermes

```yaml
mcp_servers:
  muad-yasin-the-high-council:
    command: "npx"
    args: ["-y", "the-high-council"]
```

### Netclaw

```json
{
  "McpServers": {
    "muad-yasin-the-high-council": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "the-high-council"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add muad-yasin-the-high-council -t stdio -c npx -a -y the-high-council
```

### Other

```json
{
  "mcpServers": {
    "muad-yasin-the-high-council": {
      "command": "npx",
      "args": [
        "-y",
        "the-high-council"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-26 (score 68, 0)

- [functional regression] Schema quality: 88 → 97
- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 0.7.7 → 0.7.8

### 2026-09-25 (score 68)

First indexed and scored.

## MCP tools (15)

### `list_chains` (~26 tokens)

Chains available to run, with their description and worst-case price from a dry run.

### `dry_run` (~39 tokens)

Price a chain without calling any model. chain is a chain name as list_chains shows it, never a path.

Input parameters:

- `chain` (string, required)

### `start_run` (~309 tokens)

Start a harness run in the background. Returns the run id to poll with run_status, or started:false with the exit code and log tail if the run stopped at once. chain is a chain name as list_chains shows it (never a path). task, draft, context and from_run are paths inside your working directory (tasks/x.md, context/my-project, runs/<id>); anything outside it, or on the secret/credential denylist, is refused. draft + from_run + rounds=1 makes a panel-only grading pass.

Input parameters:

- `allow_unfenced`: waive the artifact gate: true for the whole task, or a list of file names that are only locations, not content the panel needs
- `chain` (string, required)
- `context` (string)
- `draft` (string): path to a draft to review instead of building one
- `from_run` (string): reuse this earlier run's criteria
- `max_usd` (number): per-run spend ceiling in USD. Defaults to MAX_USD_PER_RUN or $7. Pass 0 for no ceiling. The run stops cleanly before any stage that could breach it, and resumes with a higher ceiling.
- `pii_gate` (string): scan the task for PII and the key formats in src/secret-patterns.js before any provider call: warn logs and proceeds, hard-stop refuses the run. Off unless given.
- `rounds` (integer)
- `task` (string, required)

### `external_prompt` (~104 tokens)

When a run is paused at an external seat: the exact system and user prompt that stage needs answered. A run can wait on several stages at once (e.g. a panel of external critics): `waiting` lists them all; pass stage to get another one's prompt. Answer each with submit_stage; the run resumes once none is left.

Input parameters:

- `run` (string, required)
- `stage` (string): which waiting stage to return; defaults to the first in `waiting`

### `prepare_stage_prompt` (~84 tokens)

For a run paused at an external seat: write stage_prompt.md, a self-contained bundle a fresh subagent can act on with zero prior context, so a driving session can dispatch the stage instead of authoring it inline. Fork a subagent, give it only this file's path; take its returned deliverable back to submit_stage.

Input parameters:

- `run` (string, required)

### `submit_stage` (~146 tokens)

Write the answer for an external stage into the run folder, then resume the run in the background. The stage must be one external_prompt lists under `waiting`; the run resumes once all of them are answered. claimed_by is optional (v3 §1): a self-declared peer-session name, recorded as this stage's claim; every check here is warn-only and never blocks the write, so a caller that omits it sees exactly today's behavior.

Input parameters:

- `claimed_by` (string): self-declared peer-session name, recorded as this stage's claim before the answer is written
- `content` (string, required)
- `run` (string, required)
- `stage` (string, required)

### `resume_run` (~83 tokens)

Resume a paused run after its external stage was answered (submit_stage does this for you), or a run stopped by the spend cap (pass a higher max_usd). Completed stages replay from disk and cost nothing.

Input parameters:

- `max_usd` (number): raise the per-run ceiling for the rest of this run. 0 removes it.
- `run` (string, required)

### `spend_report` (~79 tokens)

What every run has cost across a window of days, not just one run. Derived from the run folders on disk - nothing is recorded anywhere else and nothing leaves this machine. Use this to answer "what have I spent today" before starting another run.

Input parameters:

- `days` (number): how far back to look, in days. Defaults to 1.

### `verdict_stats` (~167 tokens)

How the debate mechanism itself is doing, per chain and per lab, across a window of days: sign-off rate, mean rounds to sign-off, objections raised, withdrawals vs accepted proposals, dropouts, unparseable replies, shape-only critique rounds (rounds spent entirely on document shape rather than substance), per-lab independence skew (novel-objection rate, solo-signoff rate, a low-independence flag), mean cost and wall time per run, and the largest prompt file per stage type. Derived from report.json and *.usage.json on disk - nothing is recorded anywhere else and nothing leaves this machine. Descriptive only: never reweights a panel or changes a verdict.

Input parameters:

- `days` (number): how far back to look, in days. Defaults to 30.

### `metrics_report` (~139 tokens)

DESCRIPTIVE TELEMETRY ONLY, not an evaluation, benchmark or baseline: amendment rate, withdrawal rate, objection-follow-through rate, and tool-call usage, derived from existing run logs (report.json and HANDOFF.md) on disk across a window of days. This is the zero-cost substitute for a cut evaluation-first direction - it never compares the council against any other tool or person, and no number it returns should be read as a claim that the council's output is better than anything else. Nothing is recorded anywhere else and nothing leaves this machine.

Input parameters:

- `days` (number): how far back to look, in days. Defaults to 30.

### `list_runs` (~27 tokens)

Runs on disk, newest first, with state and cost.

Input parameters:

- `limit` (integer)

### `run_status` (~69 tokens)

State of one run: stage reached, panel verdicts, scoreboard, files produced, cost. Pass brief=true for a short, regenerated-on-demand resume brief instead - what a returning session with fresh context needs to re-enter the run.

Input parameters:

- `brief` (boolean)
- `run` (string, required)

### `read_run_file` (~80 tokens)

Read a file from a run folder (deliverable.md, BOARD.md, HANDOFF.md, proposals.md, build.md, revise-1.md, panel-1-<lab>.md, run.log, report.json; report-partial.json for a run the spend cap stopped).

Input parameters:

- `file` (string, required)
- `run` (string, required)

### `plan_outline` (~67 tokens)

Section tree of a run's deliverable (or any markdown file) with word counts and the build-volume heuristic, plus the scope ledger if present.

Input parameters:

- `file` (string): a markdown (.md) file inside your working directory, instead of a run
- `run` (string)

### `write_task` (~39 tokens)

Write or overwrite a task file under tasks/ (the request the harness plans against).

Input parameters:

- `content` (string, required)
- `name` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/muad-yasin-the-high-council/the-high-council#diagnostics

## Score history

- 2026-09-26: 68
- 2026-09-25: 68

## Common questions

### What is the The High Council MCP server?

The High Council is an MCP server listed in the public MCP registry as io.github.muad-yasin/the-high-council. Several models from different labs plan in a blind proposal, debate and review loop. Your own keys. This page covers its npm package (the-high-council).

### Is the The High Council MCP server safe to use?

The High Council scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the The High Council MCP server expose?

The High Council exposes 15 tools: list_chains, dry_run, start_run, external_prompt, prepare_stage_prompt, and 10 more. Their descriptions and schemas cost roughly 1,458 tokens of context every time the server is loaded.

### Is the The High Council MCP server still maintained?

The High Council is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the The High Council MCP server under?

The High Council declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/the-high-council
- Socket report: https://socket.dev/npm/package/the-high-council
- Repository: https://github.com/muad-yasin/the-high-council-mcp
- Website: https://sower-industries.de/MCP
- Changelog RSS feed: https://verifymcp.io/servers/muad-yasin-the-high-council/the-high-council.xml
- Changelog JSON feed: https://verifymcp.io/servers/muad-yasin-the-high-council/the-high-council.json
- HTML version of this page: https://verifymcp.io/servers/muad-yasin-the-high-council/the-high-council
