Skip to main content
Glama
kodaimaehata

Cursor Reviewer MCP

by kodaimaehata
README.md
# 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

C2.9/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues