Gemini MCP Tool
Hands prompts and large files from an MCP client to Google's Gemini CLI or Antigravity CLI
Second-opinion code and plan review from OpenAI Codex or Google Gemini inside Claude Code
By Amir Shayegh (individual) TypeScript Local · stdio Developer toolsAI and ML
39 popularity score ★ 27 ↓ 451/wk
Opens the app, which asks before it adds the server.
claude mcp add claude-review-bridge-codex-gemini -- npx -y codex-claude-bridge@latest{
"mcpServers": {
"claude-review-bridge-codex-gemini": {
"command": "npx",
"args": [
"-y",
"codex-claude-bridge@latest"
]
}
}
}{
"mcpServers": {
"claude-review-bridge-codex-gemini": {
"command": "npx",
"args": [
"-y",
"codex-claude-bridge@latest"
]
}
}
}{
"servers": {
"claude-review-bridge-codex-gemini": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codex-claude-bridge@latest"
]
}
}
}[mcp_servers.claude-review-bridge-codex-gemini]
command = "npx"
args = ["-y", "codex-claude-bridge@latest"]gemini mcp add --scope user claude-review-bridge-codex-gemini npx -- -y codex-claude-bridge@latestOPENAI_API_KEY |
Optional: Optional; makes Codex bill per token instead of using the ChatGPT sign-in from codex login. |
|---|---|
REVIEW_BRIDGE_DB |
Optional: Path of the SQLite file for review history and sessions; defaults to reviews.db in the current directory, :memory: for none on disk. |
RB_CONFIG_PATH |
Optional: Exact path of a .reviewbridge.json to load; a missing file stops startup. |
CODEX_PATH |
Optional: Absolute path of a codex binary to use instead of the SDK's bundled one. |
codex-claude-bridge (registered in clients as codex-bridge) is a local MCP server that hands work written in Claude Code to a different model for review. It sends an implementation plan, a git diff or the staged changes to OpenAI Codex (the default) or to Google Gemini through the Antigravity agy CLI, and returns a structured verdict with findings, file and line references where available, and a session id that can carry context from a plan review into the later code review.
When both reviewers are signed in, a review that fails because one is rate-limited, out of usage or not signed in is retried on the other, and the result says which provider answered. A .reviewbridge.json file can instead set a deliberate mode that asks both and reports where they agree and differ. Callers pick a model by id or by tier (max, balanced, fast); Codex defaults to the balanced tier and Gemini to the max tier. Large diffs are split into chunks of about 8000 tokens by default (max_chunk_tokens) and reviewed one after another. Review history and sessions are kept in a local SQLite file.
The same package also works as a terminal command (review-precommit, review-plan, review-code) that exits with code 2 when blockers are found, so it can gate commits without any MCP client.
One detail the README does not spell out: in version 1.9.0 the Codex backend starts every Codex thread with the SDK's read-only sandbox mode, so the reviewing model can look at the repository but is not given write access to it (src/backends/codex.ts).
| Runtime | Node.js 18+ |
|---|
Node.js 18 or later. At least one reviewer set up: the Codex CLI (npm install -g @openai/codex, then codex login, which uses a ChatGPT plan) or an OPENAI_API_KEY for pay-per-token use; or the Antigravity agy CLI signed in with a Google AI Pro account, plus {"provider": "gemini"} in .reviewbridge.json. Review history needs the better-sqlite3 native addon to build for the host's Node.js. git for auto-captured diffs.
Auto-captured reviews (review_code, review_precommit) need a git work tree and, by default (require_cwd: true), an absolute cwd on every call; ~ is not expanded. A resumed session (session_id) stays with the provider that started it and is not failed over. If the better-sqlite3 addon cannot load, reviews still run but history and session status are not kept; after a Node.js switch it must be rebuilt with npm rebuild better-sqlite3. review_history returns 10 reviews by default, at most 100 per page. The README documents setup for Claude Code only. Its models[] field is a record of model labels, not proof of which weights served a review or an audit of what data left the machine.
Suits developers already working in Claude Code who hold a ChatGPT or Google AI Pro plan and want a second model to check plans and diffs before committing, with failover between the two when one runs out of usage. It is not a fit without either subscription or an OpenAI API key, and it is a community project, not published by OpenAI, Google or Anthropic. Teams wanting only a commit gate in CI can use its CLI without MCP.
review_planreview_codereview_precommitreview_statusreview_history