Cursor Reviewer MCP
# cursor-reviewer-mcp
MCPサーバー「cursor-reviewer」。Claude Code から `cursor.review` または `codex.review` ツールを呼び出し、Cursor CLI(GPT‑5)または Codex CLI でレビューを実行し、レビューJSONのみを返します。仕様は `1.specs/spec.md`(v3)に準拠しています。
## 概要
- ツール名: `cursor.review`, `codex.review`
- 入力: `targets`, `reference`, `review_request`, `timeout_ms`(オプション), `policy`(予約・null固定)
- 実装: Node.js + TypeScript + MCP SDK(`@modelcontextprotocol/sdk`)
- Cursor実行: `cursor-agent -p --model gpt-5 --output-format json "<プロンプト>"`
- Codex実行: `codex exec "<プロンプト>"`
- 出力: 各CLIの出力からレビューJSONのみを抽出し返却
- 監査: `reviews/YYYYMMDD-HHMMSS.json` にレビューJSONを保存
## ディレクトリ構成
```
.
├─ bin/
│ └─ cursor-reviewer-mcp # 実行バイナリ(ビルド済みdistを起動)
├─ src/
│ ├─ server.ts # MCPサーバー本体(stdio)
│ ├─ cursor.ts # Cursor CLI 呼び出し・再試行・パース
│ ├─ codex.ts # Codex CLI 呼び出し・再試行・パース
│ ├─ prompt/
│ │ └─ template.txt # 共有プロンプトテンプレート
│ └─ schemas/
│ ├─ cursor.review.input.schema.json
│ └─ codex.review.input.schema.json
├─ reviews/.gitkeep # 監査ログ出力先(JSON)
├─ .cursor/cli.json # Cursor CLI の権限制御(Read-only)
├─ .claude/agents/build-and-iterate.md # サブエージェント定義テンプレ
├─ package.json
├─ tsconfig.json
├─ .gitignore
└─ README.md
```
## セットアップ
1) Node.js 22 LTS を用意(推奨)
- `nvm` 利用時: `nvm use`(本リポジトリは `.nvmrc` で 22 を指定)
2) 依存インストール(任意のパッケージマネージャ)
```
npm i
```
3) ビルド
```
npm run build
```
4) 実行(MCPサーバーとして stdio で起動)
```
./bin/cursor-reviewer-mcp
```
5) Claude Code への登録例(プロジェクトスコープ)
```
claude mcp add --scope project cursor-reviewer $(pwd)/bin/cursor-reviewer-mcp
```
## 環境変数
- 通常は不要です。`cursor-agent` や `codex` が既にローカル設定済みであれば、環境変数は不要です。
- 特殊な環境(CI 等)で `cursor-agent` が環境変数経由の認証を要求する場合のみ、`CURSOR_API_KEY` を設定してください。
- Codex CLI のパスを明示する場合は `REVIEWER_MCP_CODEX_BIN`、追加フラグは `REVIEWER_MCP_CODEX_FLAGS` を設定します(シェル風の記法で引用可、例: `--model "gpt 4" --quiet`)。
- スキーマを差し替える場合は `REVIEWER_MCP_SCHEMA_DIR`(ディレクトリを指定)、または個別に `REVIEWER_MCP_CURSOR_SCHEMA_PATH` / `REVIEWER_MCP_CODEX_SCHEMA_PATH` を指定します。
- JSON以外の出力を許容する場合のみ `REVIEWER_MCP_ALLOW_PLAINTEXT_FALLBACK=1` を設定します(デフォルトは厳格にJSONのみ)。
## ツール仕様(要点)
- 入力スキーマは `src/schemas/*.review.input.schema.json` に定義。
- `targets[].path` が存在しない場合はエラーを返却。
- CursorはトップレベルJSONの `result` からレビューJSONを抽出、Codexは標準出力から直接抽出(失敗時1回だけ再実行)。
- 各実行のレビューJSONは `reviews/` にタイムスタンプ名で保存。
## 注意
- このリポジトリにはSDK等の依存は含まれていません。`npm i` で取得してください。
- Cursor CLI(`cursor-agent`)および Codex CLI(`codex`)がPATHに存在する必要があります。
## ライセンス
- 本リポジトリは MIT License です。詳細は `LICENSE` を参照してください。
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: codex.review uses Codex CLI, while cursor.review uses Cursor CLI with GPT-5. There is no overlap in functionality as each targets a different review system, making misselection unlikely.
Both tools follow a consistent naming pattern: they use a prefix (codex or cursor) followed by a dot and the action 'review'. This pattern is uniform across all tools, making them predictable and easy to identify.
With only 2 tools, the server feels thin for a 'Cursor Reviewer' domain, as it lacks operations like listing reviews, updating reviews, or handling review feedback. The count is too low to support comprehensive review workflows.
The tool surface is severely incomplete for a review system; it only provides review creation via two CLI methods, missing essential CRUD operations such as retrieving, updating, deleting reviews, or managing review-related data. This will likely cause agent failures in broader tasks.