Amicus
NPM · AMICUS · SCANNED SEP 20
Multi-model LLM Council and parallel AI window for Claude Code. Fork any model, fold results back.
Available components
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. How we score → Why this is hard to score →
Supply Chain Security92
- No malware found by supply-chain analysis.Pass
- A known CVE affects extract-zip, but no fixed version has been published, so there is nothing to upgrade to. View diagnostics → Partial
- Runs a script at install time (postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
- 69 of 185 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to BourbonDog/amicus). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5060 tokens (~316/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Amicus MCP server?
Amicus runs locally as an npm package, launched with npx -y amicus. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · amicus
claude mcp add bourbondog-amicus -- npx -y amicus
{
"mcpServers": {
"bourbondog-amicus": {
"command": "npx",
"args": [
"-y",
"amicus"
]
}
}
} {
"servers": {
"bourbondog-amicus": {
"command": "npx",
"args": [
"-y",
"amicus"
]
}
}
} codex mcp add bourbondog-amicus -- npx -y amicus
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"bourbondog-amicus": {
"type": "local",
"command": [
"npx",
"-y",
"amicus"
],
"enabled": true
}
}
} openclaw mcp add bourbondog-amicus --command npx --arg -y --arg amicus
mcp_servers:
bourbondog-amicus:
command: "npx"
args: ["-y", "amicus"] {
"McpServers": {
"bourbondog-amicus": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"amicus"
]
}
}
} assistant mcp add bourbondog-amicus -t stdio -c npx -a -y amicus
{
"mcpServers": {
"bourbondog-amicus": {
"command": "npx",
"args": [
"-y",
"amicus"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 18 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 4.11.0 → 4.13.0 functional
- Package version: 4.11.0 → 4.12.0 functional
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Stability: pass → 0.77 functional
- Package version: 4.10.0 → 4.11.0 functional
- 15 Sept 26 0
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.97 → pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Package version: 4.9.8 → 4.10.0 functional
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 13 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 4.9.7 → 4.9.8 functional
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/amicus@4.13.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | BourbonDog/amicus |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/BourbonDog/amicus/.github/workflows/publish.yml@refs/tags/v4.13.0 |
| Rekor log index | 2888500140 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:26d5bbd667be420e3961a7b712756c485f59ae00221c986bafda8deca40cc57a8343a7f077c53185d942e09c9b16089d9cc899a3c8001fa2e2139e68c |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| postinstall | unreviewed | node scripts/postinstall.js |
Background: Why install scripts are a supply-chain risk →
Vulnerabilities 2 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-7pqw-9j4j-h8q3 | CVE-2026-19693 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H | no |
| GHSA-jmr9-qjv8-65gv | CVE-2026-56876 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N | no |
Background: What a vulnerability scan can and cannot prove →
Dependencies 185 packages
| Packages resolved | 185 |
|---|---|
| Stale | 55 |
| No linked repository | 14 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
amicus_abort ~74
Abort a running Amicus session. Stops the OpenCode agent immediately. Use when a session is taking too long or is no longer needed.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| taskId | string | yes | The task ID of the running session to abort. |
No output schema declared.
No examples provided.
amicus_continue ~343
Start a new Amicus session that inherits a previous session's conversation as context. The previous session's messages become read-only background for the new task. Returns a task ID immediately — use amicus_wait to block until done (or poll amicus_status).
| Name | Type | Req | Description |
|---|---|---|---|
| contextMaxTokens | number | – | Cap on previous session context size in tokens. Default: 80000. |
| contextTurns | number | – | Max turns from the previous session's conversation to include as context. Default: 80000 tokens. |
| gateway | string | – | Routing preference: auto (direct-first, default), direct (require a direct provider key), or openrouter (force OpenRouter). |
| model | string | – | Override model — short alias (gemini, gemini-pro, gpt, opus, deepseek, gpt-pro, codex, claude, sonnet, haiku, fable, qwen, qwen-coder, qwen-flash, mistral, glm, minimax, grok, kimi, seed, inkling) or… |
| noUi | boolean | – | Run headless. Default false (opens Electron window). |
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| prompt | string | yes | New task description for the continuation. |
| taskId | string | yes | The task ID of the previous session to continue from. |
| timeout | number | – | Headless timeout in minutes. Default: 15. Only applies when noUi is true. |
No output schema declared.
No examples provided.
amicus_council_run ~980
Run the FULL headless council engine: Stage-1 independent reviews → anonymized peer cross-review → deterministic tally → non-bench chair synthesis → verdict.json + report.html, without any orchestrating agent. Returns {runId, runDir} immediately (async). Preferred: call amicus_wait with the runId; re-call while it returns timedOut: true. Artifacts land in runDir. Exit semantics: run.json status complete (full run), partial (degraded: dead leg / thin judging / no chair verdict), error, aborted.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | string | – | Escape hatch: run every leg on the engine's own agent instead of the council agents (no tool allowlist). Cannot be combined with tools. |
| briefingFile | string | yes | Path to the briefing file (self-contained material + criteria). The file is copied into the run dir; councils always brief via file (no inline prompt). |
| chair | string | – | Chair model (default 'deepseek'). Must NOT be a bench seat; synthesizes the verdict. |
| claudeReviewFile | string | – | Path to Claude's own review file (prose + findings JSON) to include as a judged entry. Claude is reviewed and ranked like a seat, but never judges or chairs. |
| council | string | – | Run a saved council or built-in bench ('free', 'budget', 'frontier') instead of 'models'. |
| critic | string | – | Optional critic seat: one bench member swaps to an adversarial brief. Must BE a bench seat. Mutually exclusive with lenses. |
| debate | boolean | – | Add a Stage-2.5 rebuttal round: raisers defend Contested/Disputed findings and disputing judges re-vote before the chair synthesizes. |
| gateway | string | – | Routing preference: auto (default), direct, or openrouter. |
| intent | string | – | Run intent (v4.9). 'task' marks a task-mode run, recorded as intent: 'task' on run.json/verdict.json and kept out of the reliability ledger; 'review' is the default and is never stored. |
| lenses | array | – | Optional expert lenses, one per seat (count must equal seat count). Forces no-ledger. Mutually exclusive with critic. |
| maxCost | number | – | Whole-run USD ceiling, checked before each paid stage launch. |
| models | array | – | 2-10 bench seats. Short aliases (gemini, gemini-pro, gpt, opus, deepseek, gpt-pro, codex, claude, sonnet, haiku, fable, qwen, qwen-coder, qwen-flash, mistral, glm, minimax, grok, kimi, seed, inkling)… |
| noCostGate | boolean | – | Disable the per-leg price gate for the WHOLE run (repairs and chair included). Use for an intentional o3-class council. Independent of maxCost, which still caps the total. |
| onComplete | string | – | Advisory: send an MCP info notification carrying the terminal event doc when the run finishes (best-effort; amicus_wait remains the reliable completion mechanism). Exec commands are NOT accepted over… |
| outDir | string | – | Run directory (default <project>/council-<runId>/). |
| pack | string | – | Policy pack name or path — bench/chair/options/template defaults for this run; explicit params override pack values (recorded either way). |
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| tag | string | – | Label this session for list/search/spend grouping |
| timeoutMinutes | number | – | Per-leg timeout in minutes (existing fanout semantics). Default: 15. |
| tools | array | – | Tool ids stage-1 seats may use, by the engine's own ids (task mode defaults to webfetch, review to none). Over MCP only tools that never touch the tree (webfetch, websearch, todowrite) can be opted i… |
| ui | boolean | – | Auto-open the Council Workspace window on this run. Default: opens when the client is Claude Code (local), Electron is installed, a display exists, and config workspace.autoOpen is not false. false:… |
No output schema declared.
No examples provided.
amicus_council_stats ~56
Per-model reviewer reliability derived from the append-only council ledger (avg peers-only street-cred, lifetime confirm/fact-error rates). Read-only; no inputs required.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Optional project directory path. |
No output schema declared.
No examples provided.
amicus_council_tally ~192
Deterministic council tally over an ASSEMBLED, de-anonymized input (meta + findings + adjudications + rankings). Peers-only tier cascade (Confirmed/Contested/Disputed/Singleton) + street-cred. Pure + synchronous: returns the tally record immediately. No subprocess, no polling. Claude assembles the input and may override margin tiers afterward.
| Name | Type | Req | Description |
|---|---|---|---|
| adjudications | array | yes | One row per (judge × finding). |
| findings | array | yes | Run-global findings (ids already A1/B2/C3-prefixed by Claude). |
| meta | object | yes | Run metadata; meta.models lists every reviewed model. |
| project | string | – | Optional project directory path. |
| rankings | array | yes | Each judge's preference order over the reviews (ties = nested array). |
| runStats | array | – | Optional per-model run stats (status/duration/usage). |
No output schema declared.
No examples provided.
amicus_fanout ~740
Run N models on the SAME prompt in parallel (one shared engine) and aggregate the results. Headless only. Returns {waveId, taskIds[]} immediately. Preferred: call amicus_wait with the waveId — one blocking call replaces polling; re-call it while it returns timedOut: true. Fallback (no amicus_wait tool available): poll amicus_status with the waveId (run `sleep 25` between polls). Either way, amicus_read the waveId when done for the aggregated JSON wave document (per-leg summaries inside). Each leg is also an ordinary session readable by taskId.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | string | – | Agent mode for every leg. Build (default): full tool access. Plan: analysis without edits (reads, searches and shell allowed). Chat is not supported headless. |
| council | string | – | Run a saved council, or a built-in bench ('free', 'budget', 'frontier'), instead of 'models'. Expands to the council's members; a saved council of the same name shadows a built-in. Mutually exclusive… |
| coworkProcess | string | – | Cowork VM process name (e.g., "modest-laughing-goodall"). Extract from CWD: /sessions/<name>/. Required for parent context loading from Cowork. |
| gateway | string | – | Routing preference: auto (direct-first, default), direct (require a direct provider key), or openrouter (force OpenRouter). |
| includeContext | boolean | – | Include parent conversation context (built once, shared by all legs). Default: true. Set false for self-contained briefings. |
| models | array | – | 1-10 models (2+ for genuine fan-out). Short aliases (gemini, gemini-pro, gpt, opus, deepseek, gpt-pro, codex, claude, sonnet, haiku, fable, qwen, qwen-coder, qwen-flash, mistral, glm, minimax, grok,… |
| onComplete | string | – | Advisory: send an MCP info notification carrying the terminal event doc when the run finishes (best-effort; amicus_wait remains the reliable completion mechanism). Exec commands are NOT accepted over… |
| pack | string | – | Policy pack name or path — bench/chair/options/template defaults for this run; explicit params override pack values (recorded either way). |
| parentSession | string | – | Claude Code session UUID for exact context matching. Prevents ambiguity when multiple sessions are active in the same project. |
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| prompt | string | yes | The briefing sent to every model. Self-contained briefings work best (set includeContext false). |
| summaryLength | string | – | Summary verbosity for every leg. |
| tag | string | – | Label this session for list/search/spend grouping |
| thinking | string | – | Reasoning effort for every leg. Omitted: nothing is sent and each provider's own default effort governs. A leg whose model does not declare the level is refused before anything is spent; the other le… |
| timeout | number | – | Per-leg timeout in minutes (wall-clock ≈ slowest leg). Default: 15. |
No output schema declared.
No examples provided.
amicus_guide ~51
Get detailed usage instructions for Amicus — when to spawn sessions, how to write good briefings, agent selection guidelines, and the async workflow pattern. Call this first if you haven't used Amicus before.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
amicus_list ~127
List all Amicus sessions for the current project. Shows task ID, model, status, tag, createdAt, and briefing excerpt. Use `search` to filter by id/tag/briefing substring.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| search | string | – | Case-insensitive substring filter over id, tag, and briefing material (F8 D15). |
| status | string | – | Filter by status ('all', 'running', 'complete', 'error', 'aborted', …). Default: show all. |
No output schema declared.
No examples provided.
amicus_read ~323
Read the results of a completed Amicus session. Returns the summary by default, or full conversation history, or session metadata. Every mode is capped at ~50KB by default; when content exceeds the cap and no offset/limit/tail is given, the response is the TAIL of the content with a "[truncated: ...]" notice as the first line — use offset/limit or tail to page through the rest.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max bytes to return, 1-51200. Defaults to the 51200-byte cap. Ignored in mode "metadata". |
| mode | string | – | What to read. summary (default): the fold summary. conversation: full message history. metadata: session info (always small; offset/limit/tail are ignored in this mode). |
| offset | integer | – | Byte offset to start reading from (0-based). When given, no cap or truncation notice applies — the result is simply bounded by `limit` (default 51200 bytes). Takes precedence over `tail` if both are… |
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| tail | boolean | – | Return the last `limit` bytes instead of the start. Ignored if `offset` is also given, and ignored in mode "metadata". This is also the implicit default when content exceeds the cap and neither `offs… |
| taskId | string | yes | The task ID to read. |
No output schema declared.
No examples provided.
amicus_resume ~134
Reopen a previous Amicus session with full conversation history preserved. The session continues in the same OpenCode session. Returns a task ID immediately — use amicus_wait to block until done (or poll amicus_status).
| Name | Type | Req | Description |
|---|---|---|---|
| noUi | boolean | – | Resume in headless mode. Default false (opens Electron window). |
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| taskId | string | yes | The task ID of the session to resume. |
| timeout | number | – | Headless timeout in minutes. Default: 15. Only applies when noUi is true. |
No output schema declared.
No examples provided.
amicus_setup ~32
Open the Amicus setup wizard to configure API keys and default model. Launches an interactive Electron window for configuration.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
amicus_spend ~294
Read-only cross-run cost rollup from the spend ledger (mirrors the CLI `amicus spend` query flags). Filter by since/wave/council/project/model/op, keep only failed (wasted) rows, and group by a dimension. Returns a versioned spend doc (ids/numbers/paths only, never model-generated text) — never fenced.
| Name | Type | Req | Description |
|---|---|---|---|
| council | string | – | Only rows from this council run id or preset name. |
| failed | boolean | – | Only non-complete (wasted) rows. |
| filterProject | string | – | Only rows whose recorded project dir matches this absolute path (a ledger-row filter, NOT this tool's working-directory selector — the ledger is global, not per-project). Pass '.' to mean the current… |
| groupBy | string | – | Group the rollup by this dimension (default 'model'). One of: model, wave, council, project, op, day, tag. |
| model | string | – | Only rows whose model id starts with this. |
| op | string | – | Only rows for this operation. |
| rows | boolean | – | Include matching raw rows in the result, capped at 1000. |
| since | string | – | Only rows from the last N days, as an integer followed by 'd' (e.g. '7d'). |
| wave | string | – | Only rows from this fan-out wave id. |
No output schema declared.
No examples provided.
amicus_start ~957
Spawn an Amicus session with a different LLM. Returns a task ID immediately. Mode selection: use INTERACTIVE (default, noUi: false) for research, exploration, analysis, and any task where the user benefits from watching progress live. It eliminates the polling problem entirely. Use HEADLESS (noUi: true) only for background automation the user does NOT need to monitor. When in doubt, use interactive. EXCEPTION: When spawning multiple sessions simultaneously, ALWAYS use HEADLESS (noUi: true) for all of them unless the user explicitly requests interactive. Opening multiple Electron windows at once is disruptive. For headless mode, prefer calling amicus_wait with the task ID — one blocking call replaces the sleep+status loop; re-call it while it returns timedOut: true. Fallback (no amicus_wait tool available): ALWAYS run `sleep 25` in your shell before each amicus_status call to enforce the polling interval. For interactive mode, do not poll. Wait for the user to tell you they've clicked Fold, then use amicus_read. Call amicus_guide first if you need help choosing a model or writing a good briefing. Pass includeContext: false when the briefing is fully self-contained.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | string | – | Agent mode. Chat (interactive default; headless runs auto-convert to Build): reads auto, writes ask permission. Plan: analysis without edits (reads, searches and shell allowed). Build: full auto (all… |
| contextMaxTokens | number | – | Cap on context size in tokens. Default: 80000. |
| contextSince | string | – | Time filter for context — include only turns from the last N minutes/hours/days. Format: 30m, 2h, 1d. Overrides contextTurns when set. |
| contextTurns | number | – | Max conversation turns to include from your Claude session. Default: 50. |
| coworkProcess | string | – | Cowork VM process name (e.g., "modest-laughing-goodall"). Extract from CWD: /sessions/<name>/. Required for parent context loading. |
| gateway | string | – | Routing preference: auto (direct-first, default), direct (require a direct provider key), or openrouter (force OpenRouter). |
| includeContext | boolean | – | Whether to include parent conversation history as context. Default: true. Set to false when the briefing is self-contained and does not depend on prior conversation. See amicus_guide for guidance. |
| model | string | – | Short alias (gemini, gemini-pro, gpt, opus, deepseek, gpt-pro, codex, claude, sonnet, haiku, fable, qwen, qwen-coder, qwen-flash, mistral, glm, minimax, grok, kimi, seed, inkling) or full model ID (b… |
| noUi | boolean | – | Run headless without GUI. Default false (opens Electron window). |
| pack | string | – | Policy pack name or path — bench/chair/options/template defaults for this run; explicit params override pack values (recorded either way). |
| parentSession | string | – | Claude Code session UUID for exact context matching. Prevents ambiguity when multiple sessions are active in the same project. |
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| prompt | string | yes | Detailed task briefing. Include: objective, background, files of interest, success criteria. |
| summaryLength | string | – | Fold summary verbosity. brief: key findings only. normal (default): full structured output. verbose: maximum detail. |
| tag | string | – | Label this session for list/search/spend grouping |
| thinking | string | – | Reasoning effort level. Omitted: nothing is sent and the provider's own default effort governs. A level the model does not declare is refused before anything is spent (the engine lists what each mode… |
| timeout | number | – | Headless timeout in minutes. Default: 15. Only applies when noUi is true. |
| windowPosition | string | – | Where to place the Amicus window on screen. right (default): flush against the right edge. left: flush against the left edge. center: centered. |
No output schema declared.
No examples provided.
amicus_status ~95
Check the status of a running Amicus session. Returns status (running/complete), elapsed time, and progress info. Primarily for headless mode — in interactive mode, wait for the user to tell you the session is done instead of polling.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| taskId | string | yes | The task ID returned by amicus_start. |
No output schema declared.
No examples provided.
amicus_verdict ~429
Merge a tally record with Claude's Stage-4 decisions into the verdict object (final tiers after overrides, decisions, applied flags). Pure + synchronous; returns the verdict. Writes nothing unless render:true AND outDir are given — then it also refreshes <outDir>/report.html.
| Name | Type | Req | Description |
|---|---|---|---|
| decisions | array | – | Stage-4 per-finding decisions (default []). |
| degrades | – | – | The engine-written <runDir>/verdict.json degrades[] (v4.6 Plan 2 — what was lost). Additive passthrough — preserved onto the rebuilt verdict; omitted → absent, never fabricated (#87). |
| outDir | string | – | Dir to write report.html into when render:true — resolved against the project dir and rejected if it escapes it. Omit to write nothing. |
| overallVerdict | string|null | – | The chair's terminal line — VERDICT: on a review run, ANSWER: on a task run — read from the engine-written <runDir>/verdict.json (or the closing terminal line of chair-output.md). Pass it through whe… |
| project | string | – | Optional project directory path. |
| record | object | yes | A tally() output record (from amicus_council_tally). If you trim it by hand to save tokens, PRESERVE meta.intent: on this tool it is the ONLY carrier of task mode (the CLI has three), so dropping it… |
| render | boolean | – | Also return the markdown rendering of the decided verdict (and refresh report.html when outDir is given). |
| seatLoss | – | – | The engine-written <runDir>/verdict.json seatLoss block (v4.5.2 — critic seating). Additive passthrough — preserved onto the rebuilt verdict; omitted → absent, never fabricated (#87). |
No output schema declared.
No examples provided.
amicus_wait ~233
Wait (block inside one tool call) until an Amicus session or fan-out wave reaches a terminal state, or until timeoutMs elapses. Returns the same JSON shape as amicus_status plus {timedOut, waitedMs} (and {hint} on timeout), with next_poll stripped/replaced. PREFER this over sleep+amicus_status polling for headless runs: one call replaces many polls. If it returns timedOut: true the run is still going — simply call amicus_wait again. Works for any session or wave, including ones started by other processes.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Optional project directory path. Auto-detected from working directory if omitted. |
| taskId | string | – | The session task ID (or wave ID) to wait on. |
| timeoutMs | integer | – | Max wait in milliseconds. Default 50000; capped at 110000 so the call returns before typical MCP client kill windows. On expiry the tool returns {timedOut: true} instead of erroring. |
| waveId | – | – | Alias for taskId when waiting on a fan-out wave. |
No output schema declared.
No examples provided.
What is the Amicus MCP server?
Amicus is an MCP server listed in the public MCP registry as io.github.BourbonDog/amicus. Multi-model LLM Council and parallel AI window for Claude Code. Fork any model, fold results back. This page covers its npm package (amicus).
Is the Amicus MCP server safe to use?
Amicus scores 89 out of 100 on VerifyMCP. We recorded 2 known advisories against it as of 20 September 2026. Its build provenance is signed and verified. 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 Amicus MCP server expose?
Amicus exposes 16 tools: amicus_start, amicus_status, amicus_wait, amicus_read, amicus_list, and 11 more. Their descriptions and schemas cost roughly 5,060 tokens of context every time the server is loaded.
Is the Amicus MCP server still maintained?
Amicus is still listed as active in the MCP registry. We last reached this channel on 20 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 Amicus MCP server under?
Amicus declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.