Setup guide

Three parts work together: the Chrome extension, a server on your own computer, and the wcr command (CLI and MCP server). Everything runs locally.

your AI assistant / script ──▶ wcr ──HTTP──▶ local server ◀──WebSocket── Chrome extension ──▶ ChatGPT, Gemini, …
                                          127.0.0.1:8787

Early access

WebCodeReview is not publicly installable yet. The wcr command-line tool (npm package @webcodereview/cli) and the Chrome Web Store listing are coming soon. Early-access users receive install instructions by email: join the waitlist. The rest of this page is reference for after you have installed both parts.

1. The server and wcr

Requires Node.js 20 or later. The server listens on 127.0.0.1:8787 only. On first run it generates a pairing token and saves it to ~/.config/webcodereview/token. wcr reads the token from WCR_TOKEN or that file, and starts the server in the background (log: ~/.config/webcodereview/server.log) when nothing is answering on WCR_PORT (default 8787), for example on wcr status. You can also run it in the foreground with wcr serve.

2. The Chrome extension

Install the extension in the Chrome profile where you are logged in to the AI sites you want to use, then log in to each of those sites in that same profile. On first install the extension opens a welcome page.

3. Pair the extension with the server

  1. Run wcr setup in a terminal. It starts the server if needed and opens Chrome at the extension's pairing page. Where it cannot open Chrome for you, it tells you what to do.
  2. The pairing token reaches the extension inside the page address after #, so it is never sent over the network. You do not copy or paste anything.
  3. The popup then shows “Connected to wcr on this computer”.

If the token is no longer valid, the popup shows “Pairing is no longer valid”: run wcr setup again. You can check the connection with:

wcr status

Only one browser or profile can be connected at a time. If a second one connects, the first is switched off; its popup shows “Another browser took over” and a “Use this browser” button.

4. Ask: wcr ask

# one provider
wcr ask claude "Review this function for race conditions: ..."

# several providers in parallel (comma-separated), prompt from a file
wcr ask chatgpt,gemini,claude -f review.md

# prompt from stdin, per-provider timeout in seconds, raw JSON output
git diff | wcr ask chatgpt,deepseek -t 240 --json

Providers: chatgpt, gemini, claude, deepseek and grok. The default timeout is 180 seconds per provider. If one provider fails (not logged in, verification challenge, timeout), the others still return, and the exit code is non-zero.

All five providers (ChatGPT, Gemini, Claude, DeepSeek and Grok) were verified on the live sites on 2026-10-12. Chat sites change their pages often, so a provider can break until the extension is updated.

5. Use it from your AI coding assistant (MCP)

wcr mcp is a standard stdio MCP server, so any MCP client can run it. Tools:

ToolUse
wcr_review_submit + wcr_review_resultStart a multi-provider review, then poll (each poll waits up to 50 s). Use this by default.
wcr_ask, wcr_ask_manyBlocking versions, 30 to 180 s per call. Only for clients with a long tool timeout.
wcr_automateBrowser automation; allowDomains is required. You must be signed in to WebCodeReview in the extension.
wcr_statusIs the extension connected?

The client's per-call tool timeout is what matters, because a 3-provider review can take up to about 270 s. Review jobs live in the server's memory: a restart loses them, and they cannot be cancelled individually.

Automated browsing needs a sign-in

Code review needs no account. Automated browsing is the one feature that does. Open the extension popup; in the “Automated browsing” row (it says “Available after you sign in” until you sign in) click “Continue with Google” and choose your Google account in Chrome's own window. Then turn on the “Automated browsing” switch; Chrome asks you to allow access to all websites. You can also start sign-in from the “Sign in” chip in the popup header. If one-click sign-in does not work, use “Sign in on the website instead” and approve the browser on webcodereview.com/device. Turning the switch off stops automation but does not withdraw that permission; to revoke it completely, open chrome://extensions, choose WebCodeReview and change Site access.

Claude Code (tested)

claude mcp add wcr -- wcr mcp
# add --scope user to make it available in every project

Tested end to end with a real tool call. A 330 s tool call returned normally (measured on Claude Code v2.1.222).

Codex (not yet verified)

codex mcp add wcr -- wcr mcp

or in ~/.codex/config.toml:

[mcp_servers.wcr]
command = "wcr"
args = ["mcp"]
tool_timeout_sec = 120   # optional: the 60 s default is enough for wcr_review_result (waits <= 50 s)

Only the configuration was read back; a tool call through Codex has not been tested. The 60 s default timeout comes from its documentation and has not been measured. Use wcr_review_submit and wcr_review_result for multi-provider reviews.

Cursor (not yet verified)

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{ "mcpServers": { "wcr": { "command": "wcr", "args": ["mcp"] } } }

Completely untested. Forum reports say Cursor cuts calls off at about 60 s and that this is not configurable; that is unmeasured. Use wcr_review_submit and wcr_review_result for multi-provider reviews.

Tell your agent when to use it

Reviews take 30 to 180 s and use your chat accounts, so ask your agent to use them for high-impact or security-sensitive changes, not every edit. Put the whole material in the prompt, never secrets, and treat answers as independent opinions to check, not verified findings. If a result says the prompt may already have been submitted, do not resend without asking. The server repository ships a ready-made text for your CLAUDE.md, AGENTS.md or Cursor rule: agent-guide.md.

Security notes