AIにコードレビューを丸投げしたいけど、毎回高いモデル使ってたらコストがやばい、って思ってない? 大丈夫、diff のサイズに合わせて賢くモデルを切り替えてくれるMCPサーバーの作り方があるんだ。
一番雑な投げ方
まずはこの .mcp.json の設定を見てほしい。これをプロジェクトのルートに置けば、Claude CodeからAIコードレビューが使えるようになるよ。
{
"mcpServers": {
"codex-review": {
"command": "/opt/homebrew/bin/node",
"args": ["/path/to/mcp-codex-review/index.mjs"],
"env": {
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}
これで、あとは codex-review という名前でMCPサーバーを叩けばOK。OPENAI_API_KEY は、環境変数でセットしておこうね。平文で .mcp.json に書いちゃダメだよ。
もうちょい具体的に投げるパターン
MCPサーバーが動き出したら、Claude Codeのチャットで @codex-review ってメンションして使ってくんだ。diff の内容を渡すのが基本。
1. diffだけ渡して、モデルを自動選択させる
「とりあえずレビューしてほしい」って時は、diff だけ渡せばいいよ。MCPサーバーが diff の行数やファイル数を見て、最適なモデル(gpt-5.4-mini か gpt-5.4)を自動で選んでくれるんだ。これが一番コスト効率がいい使い方だね。
@codex-review --diff "$(git diff main)"
2. 特定のモデルを明示的に指定する
「これは絶対 gpt-5.4 でガッツリ見てほしい!」って時は、--model オプションでモデル名を指定すれば、自動選択ロジックをバイパスできるよ。
@codex-review --diff "$(git diff main)" --model gpt-5.4
3. ルールやフォーカスを細かく指定する
特定の観点からレビューしてほしい時や、プロジェクト固有のコーディングルールを伝えたい時は、--rules や --focus を使ってみて。CLAUDE.md なんかにプロジェクトルールを書いておくと便利だよ。
@codex-review --diff "$(git diff main)" --rules "./CLAUDE.md" --focus security
--focus は all / security / design / performance / ux から選べるんだ。
実践例 / 実録
実際にこのMCPサーバーを使い始めてから、コードレビューの速度もコストも劇的に改善したんだ。
小さな変更のレビューは爆速&激安
たとえば、typo 修正とか、コメント追加、1〜2行のリファクタリングみたいな小さなPRを出したとするじゃん。そしたら、diff が30行未満だったり、ファイル数が少なかったりするから、このMCPサーバーが自動で gpt-5.4-mini を選んでくれるんだ。
レビュー結果のフッターには、こんな感じで出力されるよ。
Model: gpt-5.4-mini (cascade:small)
この mini モデル、めちゃくちゃ安くて、だいたい gpt-5.4 の 10分の1 くらいのコストで済むんだ。しかも、小さな変更なら十分なクオリティでレビューしてくれるから、マジで助かる。数秒でレビューが終わることもザラだよ。
大きな変更はじっくり高精度レビュー
逆に、複数レイヤーにわたる機能追加とか、アーキテクチャに関わるような破壊的変更のPRだと、diff も大きくなるよね。そういう時は、MCPサーバーが賢く gpt-5.4 を選んでくれるんだ。
出力はこんな感じ。
Model: gpt-5.4 (cascade:large)
これなら、複雑なロジックや広範囲な影響がある変更でも、深掘りしてしっかりレビューしてくれるから安心だよ。コストはかかるけど、その分、見落としがちな潜在的なバグとか、設計上の問題点をしっかり指摘してくれるんだ。
こうやって、diff のサイズに応じてモデルを自動で切り替えることで、無駄なコストを抑えつつ、必要な時にはしっかりAIの力を借りられるようになったんだよ。
つまずきポイント
いくつかハマりやすいポイントがあるから、気をつけてね。
OPENAI_API_KEYの設定忘れ: これが設定されてないと、当然だけどAPIを叩けないから動かないよ。ちゃんと$HOME/.zshrcとかにexport OPENAI_API_KEY="sk-..."って書いておこう。.mcp.jsonのパス間違い:commandとargsで指定するスクリプトのパスは、絶対パスで書くのが確実だよ。相対パスだと、Claude Codeを実行するコンテキストによっては見つけられないことがあるから注意してね。- 依存パッケージのインストール忘れ: このMCPサーバーは
@modelcontextprotocol/sdkやopenai、zodに依存してるんだ。MCPサーバーを起動する前に、npm installとかで必要なパッケージはちゃんと入れておこう。入れてないと、起動時にエラーになるよ。