Skip to main content

amicus

Give your coding agent a second opinion from a different model.

amicus is one MCP server that fronts Codex, Kimi and Claude. The backend is a parameter, not a separate installation — so instead of running three servers and learning three tool surfaces, you ask for a consult, a review, or a delegated task and say which model should answer.

  • Consult — a read-only second opinion on an approach, a bug, or a design.
  • Review — a structured review of changes gathered from git, with findings tied to evidence.
  • Delegate — a task implemented in a throwaway git worktree, returned as a diff you review. It is never applied to your working tree.
  • Adversarial review — a fixed critic aimed at a plan, claim, or decision.

Long-running calls can be started in the background and polled, so a broad review does not block your session.

Install

Claude Code

/plugin marketplace add briandconnelly/amicus
/plugin install amicus@amicus

Codex

codex plugin marketplace add briandconnelly/amicus
codex plugin add amicus@amicus

Start a new session afterwards so the host loads the bundled skill and tools.

Any other MCP client

The plugins launch the server from the release tag pinned in .mcp.json. Point your client at the same command:

{
  "mcpServers": {
    "amicus": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/briandconnelly/amicus.git@v0.1.0", "amicus-mcp"]
    }
  }
}

Requirements

  • Python 3.11 or newer, and uv.
  • The CLI for each backend you enable, installed and authenticated: codex, kimi, claude. amicus drives those CLIs; it does not talk to the providers itself, and it stores no credentials.

Using it

Choose which backends are available with AMICUS_BACKENDS — a comma-separated list of codex, kimi and claude. Only the backends you name are enabled.

Then just ask, in your own words:

  • "Get a second opinion on this approach from another model."
  • "Have another model review my current changes."
  • "Delegate this task to another model and show me the proposed diff."

In Claude Code there are also slash commands:

Command What it does
/amicus:consult Ask another model for a read-only second opinion
/amicus:review Have another model review your git changes
/amicus:delegate Delegate a coding task; get back a reviewable diff
/amicus:adversarial Run a fixed adversarial critic against a plan, claim, or decision
/amicus:dry-run Preview what a review or delegate call would send — free, no model call
/amicus:jobs Poll, fetch, list, or cancel a background job
/amicus:status Check which backends are enabled, installed, and authenticated

Start with /amicus:status — it tells you which backends are actually usable before you spend anything.

The tools

Eighteen tools, in five groups. Everything paid has a free way to inspect it first.

Group Tools
Discovery — free amicus_backends, amicus_capabilities, amicus_models
Verbs — paid amicus_consult, amicus_review_changes, amicus_delegate, amicus_adversarial_review
Previews — free amicus_dry_run (review), amicus_delegate_dry_run
Background twins — paid the four verbs again, each with an _async suffix
Jobs — free amicus_job_status, amicus_job_result, amicus_job_consume_result, amicus_job_list, amicus_job_cancel

Not every backend does everything:

Verb Codex Kimi Claude
consult, review_changes yes yes yes
delegate yes yes no
adversarial_review no no yes

Asking a backend for something it does not support returns a feature_unsupported error naming the backend and the feature, rather than failing obscurely.

Safety

  • A delegated diff is never applied. It runs in a throwaway git worktree and comes back for you to read and apply yourself.
  • Every verb call spends the selected backend's quota. The dry runs and the discovery and job tools do not.
  • Enabling a backend that can write makes the tool surface carry that backend's approval annotations — see docs/MIGRATION.md.
  • Your prompts go to whichever provider you selected, through that provider's own CLI. Each backend discloses how it carries your text — visible on amicus_backends.

Configuration

AMICUS_BACKENDS is the one most people set. Beyond it, each backend takes an optional model, reasoning effort, and binary path (AMICUS_CODEX_MODEL, AMICUS_KIMI_REASONING_EFFORT, AMICUS_CLAUDE_BIN, and so on), and there are limits for timeouts, job retention and payload sizes. The full list is the env_vars array in .mcp.json.

Coming from codex-in-claude, moonbridge, or claude-in-codex

amicus replaces all three. docs/MIGRATION.md maps the old tool names onto the new ones.

Status and known limits

0.1.0 is the first release. The server's wire contract is exercised by the test suite and by host captures against Claude Code and Codex, but:

  • 0.1.0 is the first release published from a tag, so the tagged publish path runs for the first time with it.
  • Two router-skill evaluation scenarios are unresolved — S6 (diff-safety wording) and S7 (approval friction) — recorded in docs/adr/0012-m6-packaging-decisions.md. Neither is a defect in the server's wire contract.
  • A third-party backend distribution loads through the amicus.backends entry-point group, but cannot yet be enabled or called: AMICUS_BACKENDS and the backend parameter accept only the in-tree ids.

Development

uv sync
uv run prek install --prepare-hooks   # one-time local hooks

The gate is defined once, in AGENTS.md (Rules, item 2); CI runs it on every supported Python version.

Question Read
What is being built and why docs/superpowers/specs/2026-09-04-amicus-design.md
How milestones are executed by agents docs/superpowers/plans/2026-09-04-amicus-execution-model.md
Architecture decisions docs/adr/
How a release is cut docs/RELEASING.md
Deprecating the sibling projects docs/DEPRECATING-SIBLINGS.md
The router skill an agent loads to call amicus skills/collaborating-with-amicus/
Host captures and CLI evidence docs/host-captures/, docs/claude-help/, docs/kimi-help/
How past milestones were built git history — executed plans are removed once merged

License

MIT. See LICENSE.

Release files for amicus 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for amicus 0.1.0
File Size Uploaded
amicus-0.1.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for amicus 0.1.0
File Interpreter ABI Platform
amicus-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / amicus-0.1.0.tar.gz

Download URL amicus-0.1.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
75f6cf151209e9cb207d1fbbff9e2db3c8dba4d2d726b348118ab03c642cf03a
BLAKE2b-256 checksum
How to use checksums
678958b54146bfc0248d72a867467113192ccf674f1770a332fd4d960dd4e121
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / amicus-0.1.0-py3-none-any.whl

Download URL amicus-0.1.0-py3-none-any.whl
Size 206.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d88b42cbd619f0126688d1e027017317b7cfe1857337ed298875b14f602e2149
BLAKE2b-256 checksum
How to use checksums
509050c183d0d96a35463a6efeffbffa80f70a445b78fc01e8f18a0317e16929
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page