code-assistant-peers
MCP server for mandatory peer review between coding assistants like Claude Code, Codex, Gemini, and other CLI agents.
Install / Use
claude mcp add AnamKwon -- npx -y github:AnamKwon/code-assistant-peersIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of code-assistant-peers
code-assistant-peers scores 75/100 on our quality scale, 574th of 1,455 Development & Engineering skills we index (top 40%).
Its MCP Server is 10.0 KB long, well organised into 37 sections with 21 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 3 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- Our last check on 2026-09-24 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
code-assistant-peers compared with similar skills
All 4 of these similar skills score higher than code-assistant-peers; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| code-assistant-peers (this skill)by AnamKwon | 75 | 10 | 3mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 85.2k | 9d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.7k | today | CLAUDE.md |
| rufloby ruvnet | 100 | 73.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install code-assistant-peers?
- Run
claude mcp add AnamKwon -- npx -y github:AnamKwon/code-assistant-peers. The install tabs above show the steps for each supported agent. - Which AI agents does code-assistant-peers work with?
- It is written for Claude Code, Claude Desktop, Gemini CLI and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is code-assistant-peers safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is code-assistant-peers still maintained?
- The repository was last updated about 3 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubmcp-code-assistant-peers
Parallel peer review for CLI coding agents — fully live, no API keys required.

What it does
When you edit code with Claude Code, Codex, or Gemini, this MCP gate routes the diff to multiple independent peer reviewers running in background tmux sessions. Each reviewer checks the change from a fresh context, findings are saved to SQLite, and the host assistant reads all results directly — no redundant synthesis pass, no extra token cost.
Your coding session
│
▼
Host edits code → must_call_after_code_changes
│
┌───────────┼───────────┐
▼ ▼ ▼
codex-live gemini-live claude-live ← parallel, tmux
│ │ │
└───────────┴───────────┘
│
All findings delivered
directly to host
│
▼
Host reviews findings & improves code
Why live mode?
Live vs Headless
| | Live (*-live) | Headless |
|---|---|---|
| Billing | Subscription pool ✅ | API credit pool ❌ |
| Auth | OAuth login — no API key needed | API key required |
| Session | Persistent tmux session, warm | New process every call |
| Review history | Accumulates — reviewer learns the repo 📈 | Wiped on every call |
| Parallelism | All reviewers run concurrently ✅ | Each process blocks the next |
| Startup | Instant (session already running) | Cold start every time |
| Fallback | Auto-falls back to headless if unavailable | N/A |
Every reviewer defaults to live mode. You only need to log in once per CLI:
claude # Claude Code login
codex # Codex login
gemini # Gemini CLI login — OAuth, no API key needed
No API keys. No credit pool charges. Reviews run on your subscription.
Review history (key advantage)
Live sessions keep conversation history by default. The reviewer builds up knowledge of your codebase across multiple reviews in the same session:
Review #1 → "This function lacks null checking" (learns the codebase)
Review #2 → "Good fix. The same pattern exists on line 42 too." (accumulated knowledge)
Review #3 → "Consistent with the null-check pattern you've been applying" (contextual)
Each session is scoped per (reviewer, repo) — reviewers for different repos are completely isolated.
To reset history between reviews (old behavior):
CODE_ASSISTANT_PEERS_REVIEWER_CLEAR=always
Quick start
# 1. Install
bun install
# 2. Auto-detect available CLIs and register MCP
bun cli.ts setup claude --peers=auto
# 3. Verify
bun cli.ts doctor
Inside Claude Code or Codex, make any code change — the review gate triggers automatically.
Default configuration
Everything is pre-configured for live mode:
| Setting | Default | Description |
|---|---|---|
| PEER_ASSISTANTS | codex-live,gemini-live,claude-live | All three as independent peer reviewers |
| History | Keep (never clear) | Reviewers remember previous reviews |
| Host passes | Live session | Self-review uses host's live session |
| CODE_ASSISTANT_PEERS_WORKFLOW | review_only | Peer reviews and reports findings |
| CODE_ASSISTANT_PEERS_REVIEW_MODE | normal | Standard review mode |
Review modes
| Mode | Description | Use when |
|---|---|---|
| normal | Find bugs, regressions, missing tests | Default |
| adversarial | Challenge assumptions aggressively | Security-critical changes |
| gate | Binary ALLOW / BLOCK decision | CI gates, pre-merge checks |
| collaborative | Host and peer compare perspectives | High-stakes architecture |
CODE_ASSISTANT_PEERS_REVIEW_MODE=adversarial
Peer workflow modes
| Workflow | Description |
|---|---|
| review_only | Peer reviews and reports findings (default) |
| peer_fix | Peer proposes concrete fix patches alongside findings |
CODE_ASSISTANT_PEERS_WORKFLOW=peer_fix
Architecture
Review flow
First review in a session
│
▼ Worker creates tmux session → CLI boots (one-time)
│
▼ Review job delivered to session
│ ├── Reviewer writes .peer-review/<id>-output.md (primary path)
│ └── Reviewer also prints to terminal (fallback)
│
▼ Worker reads result → broker → MCP → host
│
▼ Session stays alive with full history
Next review (same repo)
│
▼ Session already warm — no cold start — instant delivery
Session isolation
Each live session is scoped to (reviewer_kind, repo_path):
peer-reviewer-claude-<repo>-<hash>
peer-reviewer-codex-<repo>-<hash>
peer-reviewer-gemini-<repo>-<hash>
Watch a live session:
tmux ls # list all sessions
tmux attach -t peer-reviewer-gemini-myrepo-abc123 # watch gemini think
No aggregate pass
Peer results go directly to the host — no intermediate synthesis:
Before: peers → aggregate LLM call → host (extra tokens, extra latency)
Now: peers → host directly (zero overhead)
The host reads each reviewer's findings and decides what to fix.
Setup
Auto-setup (recommended)
bun cli.ts setup claude --peers=auto
# With options
bun cli.ts setup claude --peers=auto --workflow=peer_fix --mode=adversarial
Manual peer selection
# All three live reviewers
bun cli.ts setup claude --peers=claude-live,codex-live,gemini-live
# Codex only
bun cli.ts setup claude --peers=codex-live
Environment variables
| Variable | Default | Description |
|---|---|---|
| HOST_ASSISTANT | claude | The coding agent running the MCP server |
| PEER_ASSISTANTS | auto | Comma-separated list of peer reviewer adapters |
| CODE_ASSISTANT_PEERS_WORKFLOW | review_only | review_only or peer_fix |
| CODE_ASSISTANT_PEERS_REVIEW_MODE | normal | normal, adversarial, gate, collaborative |
| CODE_ASSISTANT_PEERS_REVIEWER_CLEAR | (keep history) | always to reset before each review |
| CODE_ASSISTANT_PEERS_LIVE_HOST_REVIEWS | (live) | 0 to force headless for host-side passes |
| CODE_ASSISTANT_PEERS_REVIEW_TIMEOUT_MS | 600000 | Per-review timeout (ms) |
| CODE_ASSISTANT_PEERS_REVIEWER_STARTUP_MS | 30000 | Session boot timeout (ms) |
| CODE_ASSISTANT_PEERS_TMUX_SESSION | peer-reviewer | Tmux session name prefix |
| CODE_ASSISTANT_PEERS_REVIEWER_CWD | cwd | Repo directory for reviewer sessions |
| CODE_ASSISTANT_PEERS_DIFF_BUDGET | 4000 | Max diff characters in review prompt |
Security
Each live session restricts file writes to .peer-review/ only:
| Reviewer | Write boundary | Mechanism |
|---|---|---|
| claude-live | .peer-review/<hash>/ only | --allowedTools Write(promptDir:*) + --disallowedTools Edit,Write for project files |
| gemini-live | .peer-review/ only | Admin policy: ALLOW .peer-review/ (priority 500), DENY elsewhere (priority 100), DENY shell (priority 600) |
| codex-live | Workspace (advisory) | -c instructions behavioral constraint + --sandbox workspace-write |
Shell execution (run_shell_command) is hard-denied for gemini-live, preventing prompt-injection via sed -i, shell scripts, etc.
Custom adapters
Register any CLI that accepts prompts through stdin or argv:
{
"my-llm": {
"id": "my-llm",
"command": ["my-llm-cli", "--model", "best", "-"],
"prompt_transport": "stdin",
"description": "My custom LLM CLI"
}
}
CODE_ASSISTANT_PEERS_ASSISTANTS='{"my-llm": {...}}' bun server.ts
PEER_ASSISTANTS=my-llm bun server.ts
MCP tools
| Tool | When to call | Description |
|---|---|---|
| begin_peer_task | Before editing | Captures baseline for the review |
| must_call_after_code_changes | After every edit | Starts async review, returns immediately |
| wait_for_peer_review | After must_call_after_code_changes | Polls until complete |
| get_peer_review_status | Anytime | Check current status |
| get_open_findings | Anytime | List unresolved findings |
| code_assistant_peers_setup | Setup verification | Check CLI availability |
Typical flow
1. begin_peer_task ← before editing
2. [make code changes]
3. must_call_after_code_changes ← required after editing
4. wait_for_peer_review ← repeat until reviewed / partial_failed
5. [read all peer findings, fix issues]
6. must_call_after_code_changes ← if more edits were made
Troubleshooting
Session not starting
tmux ls | grep peer-reviewer # list sessions
tail -f /tmp/code-assistant-peers-backend.log # worker logs
Gemini login required
gemini # Run once and complete OAuth login
Next review starts automatically. No API key needed — Gemini subscription covers it.
Claude billing: API vs subscription
The reviewer session must NOT have ANTHROPIC_API_KEY set. If it is set, Claude Code bills the API key regardless of interactive mode.
# In the reviewer environment, ensure this is unset:
unset ANTHROPIC_API_KEY
# Verify: launch claude and check it shows "Claude Team" or "Pro", not API key mode
claude
Reset review history for a repo
tmux kill-session -t peer-reviewer-claude-myrepo-abc123
# Next review creates a fresh session
Disable live mode (force headless)
CODE_ASSISTANT_PEERS_LIVE_HOST_REVIEWS=0 # host-side passes use headless
CODE_ASSISTANT_PEERS_REVIEWER_CLEAR=always # clear history between reviews
PEER_ASSISTANTS=codex,gemini # use headless adapters directly
Requirements
- Bun v1.1+
- tmux (for live sessions)
- At least one of: Claude Code CLI, OpenAI Codex CLI, Google Gemini CLI
- Logged in to each CLI you want to use as a reviewer
Related Skills
Agent-Reach
85.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.2k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
CowAgent
47.1kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
