Getting Started
MCP server setup
er-mcp is a local stdio MCP
server (MCP 2026-07-28 preferred; older initialize clients still work). Ask Claude Code, Cursor, Codex, or OpenCode for priority PRs, production-only diff size, blocked/stale filters,
and to prepare/upload AI review sidecars into the same managed storage Desktop/TUI use.
Prerequisites
- git and gh on
PATH(gh auth login) - Optional: Easy Review projects at
~/.config/er/projects.json(Desktop writes this) so you can omitrepo= - Node 18+ (for the npm launcher) or a Rust toolchain (to build from source)
Install
npm
The easy-review-mcp package runs the MCP server. On first use it downloads
er-mcp from the matching GitHub Release and caches it locally.
npx -y easy-review-mcp
Supported hosts: macOS arm64/x64, Linux x64.
Set ER_MCP_PATH=/path/to/er-mcp to use a specific binary instead of downloading.
From source
git clone https://github.com/VilfredSikker/easy-review.git
cd easy-review
cargo install --path crates/er-mcp
# → ~/.cargo/bin/er-mcp (ensure ~/.cargo/bin is on PATH)
which er-mcp
er-mcp --help
From a clone without installing globally:
cargo build -p er-mcp --release
# binary: target/release/er-mcp
Add to a client
Claude Code
# npm launcher
claude mcp add --scope user easy-review -- npx -y easy-review-mcp
# or a source-built binary
export ER_MCP="$HOME/.cargo/bin/er-mcp"
claude mcp add --scope user easy-review -- "$ER_MCP"
# Project scope — writes .mcp.json for the team (commit it)
claude mcp add --scope project easy-review -- npx -y easy-review-mcp
claude mcp list
claude mcp get easy-review
Flags go before the server name; everything after -- is the stdio command.
There is no --command flag.
Codex
codex mcp add easy-review -- npx -y easy-review-mcp
# or: codex mcp add easy-review -- "$HOME/.cargo/bin/er-mcp"
codex mcp list
codex mcp get easy-review
Config is stored in ~/.codex/config.toml (or project .codex/config.toml for trusted projects).
Cursor
Cursor uses mcp.json (no first-party cursor mcp add equivalent for custom stdio servers).
Add via Cursor Settings → Tools & MCP → New MCP Server, or edit the file:
# Global (all workspaces)
mkdir -p ~/.cursor
# then edit ~/.cursor/mcp.json — see structure below
# Or project-local (share with the team)
mkdir -p .cursor
# then edit .cursor/mcp.json
OpenCode
OpenCode configures MCP servers in opencode.json
(~/.config/opencode/opencode.json globally, or project-local).
You can also run opencode mcp add and follow the prompts.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"easy-review": {
"type": "local",
"command": ["npx", "-y", "easy-review-mcp"],
"enabled": true
}
}
}
Source-built binary variant:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"easy-review": {
"type": "local",
"command": ["/absolute/path/to/er-mcp"],
"enabled": true
}
}
}
List configured servers with opencode mcp list.
mcp.json structure
Same shape for Cursor global (~/.cursor/mcp.json), Cursor project (.cursor/mcp.json),
and Claude project scope (.mcp.json at the repo root).
npm launcher
{
"mcpServers": {
"easy-review": {
"command": "npx",
"args": ["-y", "easy-review-mcp"]
}
}
}
Source-built binary
{
"mcpServers": {
"easy-review": {
"command": "/absolute/path/to/er-mcp"
}
}
}
With args / env (optional)
{
"mcpServers": {
"easy-review": {
"command": "/absolute/path/to/er-mcp",
"args": [],
"env": {
"ER_STORAGE_ROOT": "/custom/easy-review-data"
}
}
}
}
Where each client reads it
| Client | Config location | Notes |
|---|---|---|
| Cursor | ~/.cursor/mcp.json (global).cursor/mcp.json (project) |
Project wins on name clash. Restart or toggle the server in Settings if it does not appear. |
| Claude Code | claude mcp add → user/local in ~/.claude.json; project → .mcp.json |
Prefer claude mcp add over hand-editing. In-session: /mcp. |
| Codex | ~/.codex/config.toml ([mcp_servers.easy-review]) |
Prefer codex mcp add. CLI / IDE / ChatGPT desktop share this host config. |
| OpenCode | ~/.config/opencode/opencode.json (global)project opencode.json |
Local MCP under mcp.<name> with type: "local" and a command array. opencode mcp list. |
Codex TOML equivalent
# ~/.codex/config.toml
[mcp_servers.easy-review]
command = "npx"
args = ["-y", "easy-review-mcp"]
Install agent skills
MCP exposes the REST API; skills teach agents the workflows. Install the full pack:
bunx @easy-review/skills
# or: npx @easy-review/skills
# one skill: bunx @easy-review/skills -s er-review
Skills: er-review, er-guide, er-queue,
er-low-hanging-fruit, er-get-feedback, er-respond,
er-saved. Source: npm/skills/source/ (bundled on publish).
Verify
- Restart the client (or reload MCP tools).
- Ask: “List Easy Review projects” or “What should I review?”.
- You should see tools like
prs_query,pr_prepare,pr_guide,pr_upload. - After
bunx @easy-review/skills, try: “ER review” or “create a guide” on a PR.
What you can do
| Ask for… | Tool |
|---|---|
| Priority / small PRs | prs_query (sort, filter, cross_repo) |
| Production-only size | pr_stats |
| Guided tour | pr_guide (prepare → upload tour.json) |
| Full AI review / triage | pr_prepare → pr_upload → pr_summarize |
| Mermaid diagrams | pr_diagram (list | prepare → upload diagram JSON) |
| PR feedback threads | pr_feedback_get / pr_feedback_reply |
Full tool list and AI upload flow:
crates/er-mcp/README.md.
Troubleshooting
- Claude stuck on “connecting…” — first run downloads a binary; on macOS Gatekeeper may block it. Clear quarantine and reconnect:
Or skip npx and point at a local binary:xattr -dr com.apple.quarantine ~/Library/Caches/easy-review/er-mcp # then in Claude: /mcp → easy-review → Reconnectcargo install --git https://github.com/VilfredSikker/easy-review --locked er-mcp claude mcp add --scope user easy-review -- "$(command -v er-mcp)" - Server not listed — try
npx -y easy-review-mcpin a terminal (should print a setup hint); or check the absolute path / restart client. - Tools fail on GitHub — run
gh auth status; MCP shells out toghlike Desktop. - No projects — pass
repo=owner/name, or open the repo in Easy Review Desktop once soprojects.jsonexists. - Claude “unknown option --command” — use
claude mcp add easy-review -- "$ER_MCP"(options before name, command after--).