Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

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

+15 this week 89 Trust /100
Trust breakdown (7 categories)

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
Install

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

# add to Claude Code
claude mcp add bourbondog-amicus -- npx -y amicus
// .cursor/mcp.json
{
  "mcpServers": {
    "bourbondog-amicus": {
      "command": "npx",
      "args": [
        "-y",
        "amicus"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "bourbondog-amicus": {
      "command": "npx",
      "args": [
        "-y",
        "amicus"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add bourbondog-amicus -- npx -y amicus
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bourbondog-amicus": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "amicus"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add bourbondog-amicus --command npx --arg -y --arg amicus
# ~/.hermes/config.yaml
mcp_servers:
  bourbondog-amicus:
    command: "npx"
    args: ["-y", "amicus"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "bourbondog-amicus": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "amicus"
      ]
    }
  }
}
# add to Vellum
assistant mcp add bourbondog-amicus -t stdio -c npx -a -y amicus
// mcp.json
{
  "mcpServers": {
    "bourbondog-amicus": {
      "command": "npx",
      "args": [
        "-y",
        "amicus"
      ]
    }
  }
}
Changelog

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.

Diagnostics

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 →

MCP tools · 16 exposed · ~5,060 tokens

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 →

Tool Tokens
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.

NameTypeReqDescription
projectstringOptional project directory path. Auto-detected from working directory if omitted.
taskIdstringyesThe 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).

NameTypeReqDescription
contextMaxTokensnumberCap on previous session context size in tokens. Default: 80000.
contextTurnsnumberMax turns from the previous session's conversation to include as context. Default: 80000 tokens.
gatewaystringRouting preference: auto (direct-first, default), direct (require a direct provider key), or openrouter (force OpenRouter).
modelstringOverride 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…
noUibooleanRun headless. Default false (opens Electron window).
projectstringOptional project directory path. Auto-detected from working directory if omitted.
promptstringyesNew task description for the continuation.
taskIdstringyesThe task ID of the previous session to continue from.
timeoutnumberHeadless 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.

NameTypeReqDescription
agentstringEscape hatch: run every leg on the engine's own agent instead of the council agents (no tool allowlist). Cannot be combined with tools.
briefingFilestringyesPath to the briefing file (self-contained material + criteria). The file is copied into the run dir; councils always brief via file (no inline prompt).
chairstringChair model (default 'deepseek'). Must NOT be a bench seat; synthesizes the verdict.
claudeReviewFilestringPath 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.
councilstringRun a saved council or built-in bench ('free', 'budget', 'frontier') instead of 'models'.
criticstringOptional critic seat: one bench member swaps to an adversarial brief. Must BE a bench seat. Mutually exclusive with lenses.
debatebooleanAdd a Stage-2.5 rebuttal round: raisers defend Contested/Disputed findings and disputing judges re-vote before the chair synthesizes.
gatewaystringRouting preference: auto (default), direct, or openrouter.
intentstringRun 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.
lensesarrayOptional expert lenses, one per seat (count must equal seat count). Forces no-ledger. Mutually exclusive with critic.
maxCostnumberWhole-run USD ceiling, checked before each paid stage launch.
modelsarray2-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)…
noCostGatebooleanDisable 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.
onCompletestringAdvisory: 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…
outDirstringRun directory (default <project>/council-<runId>/).
packstringPolicy pack name or path — bench/chair/options/template defaults for this run; explicit params override pack values (recorded either way).
projectstringOptional project directory path. Auto-detected from working directory if omitted.
tagstringLabel this session for list/search/spend grouping
timeoutMinutesnumberPer-leg timeout in minutes (existing fanout semantics). Default: 15.
toolsarrayTool 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…
uibooleanAuto-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.

NameTypeReqDescription
projectstringOptional 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.

NameTypeReqDescription
adjudicationsarrayyesOne row per (judge × finding).
findingsarrayyesRun-global findings (ids already A1/B2/C3-prefixed by Claude).
metaobjectyesRun metadata; meta.models lists every reviewed model.
projectstringOptional project directory path.
rankingsarrayyesEach judge's preference order over the reviews (ties = nested array).
runStatsarrayOptional 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.

NameTypeReqDescription
agentstringAgent mode for every leg. Build (default): full tool access. Plan: analysis without edits (reads, searches and shell allowed). Chat is not supported headless.
councilstringRun 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…
coworkProcessstringCowork VM process name (e.g., "modest-laughing-goodall"). Extract from CWD: /sessions/<name>/. Required for parent context loading from Cowork.
gatewaystringRouting preference: auto (direct-first, default), direct (require a direct provider key), or openrouter (force OpenRouter).
includeContextbooleanInclude parent conversation context (built once, shared by all legs). Default: true. Set false for self-contained briefings.
modelsarray1-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,…
onCompletestringAdvisory: 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…
packstringPolicy pack name or path — bench/chair/options/template defaults for this run; explicit params override pack values (recorded either way).
parentSessionstringClaude Code session UUID for exact context matching. Prevents ambiguity when multiple sessions are active in the same project.
projectstringOptional project directory path. Auto-detected from working directory if omitted.
promptstringyesThe briefing sent to every model. Self-contained briefings work best (set includeContext false).
summaryLengthstringSummary verbosity for every leg.
tagstringLabel this session for list/search/spend grouping
thinkingstringReasoning 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…
timeoutnumberPer-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.

NameTypeReqDescription
projectstringOptional project directory path. Auto-detected from working directory if omitted.
searchstringCase-insensitive substring filter over id, tag, and briefing material (F8 D15).
statusstringFilter 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.

NameTypeReqDescription
limitintegerMax bytes to return, 1-51200. Defaults to the 51200-byte cap. Ignored in mode "metadata".
modestringWhat to read. summary (default): the fold summary. conversation: full message history. metadata: session info (always small; offset/limit/tail are ignored in this mode).
offsetintegerByte 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…
projectstringOptional project directory path. Auto-detected from working directory if omitted.
tailbooleanReturn 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…
taskIdstringyesThe 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).

NameTypeReqDescription
noUibooleanResume in headless mode. Default false (opens Electron window).
projectstringOptional project directory path. Auto-detected from working directory if omitted.
taskIdstringyesThe task ID of the session to resume.
timeoutnumberHeadless 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.

NameTypeReqDescription
councilstringOnly rows from this council run id or preset name.
failedbooleanOnly non-complete (wasted) rows.
filterProjectstringOnly 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…
groupBystringGroup the rollup by this dimension (default 'model'). One of: model, wave, council, project, op, day, tag.
modelstringOnly rows whose model id starts with this.
opstringOnly rows for this operation.
rowsbooleanInclude matching raw rows in the result, capped at 1000.
sincestringOnly rows from the last N days, as an integer followed by 'd' (e.g. '7d').
wavestringOnly 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.

NameTypeReqDescription
agentstringAgent 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…
contextMaxTokensnumberCap on context size in tokens. Default: 80000.
contextSincestringTime filter for context — include only turns from the last N minutes/hours/days. Format: 30m, 2h, 1d. Overrides contextTurns when set.
contextTurnsnumberMax conversation turns to include from your Claude session. Default: 50.
coworkProcessstringCowork VM process name (e.g., "modest-laughing-goodall"). Extract from CWD: /sessions/<name>/. Required for parent context loading.
gatewaystringRouting preference: auto (direct-first, default), direct (require a direct provider key), or openrouter (force OpenRouter).
includeContextbooleanWhether 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.
modelstringShort 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…
noUibooleanRun headless without GUI. Default false (opens Electron window).
packstringPolicy pack name or path — bench/chair/options/template defaults for this run; explicit params override pack values (recorded either way).
parentSessionstringClaude Code session UUID for exact context matching. Prevents ambiguity when multiple sessions are active in the same project.
projectstringOptional project directory path. Auto-detected from working directory if omitted.
promptstringyesDetailed task briefing. Include: objective, background, files of interest, success criteria.
summaryLengthstringFold summary verbosity. brief: key findings only. normal (default): full structured output. verbose: maximum detail.
tagstringLabel this session for list/search/spend grouping
thinkingstringReasoning 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…
timeoutnumberHeadless timeout in minutes. Default: 15. Only applies when noUi is true.
windowPositionstringWhere 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.

NameTypeReqDescription
projectstringOptional project directory path. Auto-detected from working directory if omitted.
taskIdstringyesThe 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.

NameTypeReqDescription
decisionsarrayStage-4 per-finding decisions (default []).
degradesThe 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).
outDirstringDir to write report.html into when render:true — resolved against the project dir and rejected if it escapes it. Omit to write nothing.
overallVerdictstring|nullThe 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…
projectstringOptional project directory path.
recordobjectyesA 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…
renderbooleanAlso return the markdown rendering of the decided verdict (and refresh report.html when outDir is given).
seatLossThe 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.

NameTypeReqDescription
projectstringOptional project directory path. Auto-detected from working directory if omitted.
taskIdstringThe session task ID (or wave ID) to wait on.
timeoutMsintegerMax 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.
waveIdAlias for taskId when waiting on a fan-out wave.

No output schema declared.

No examples provided.

Common questions

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.