mcpField
V
vibe-gate-mcp

vibe-gate-mcp

ローカル
github.com/mustafacagri開発ツール13 週間前に更新

vibe-gate-mcp について

vibe-gate-mcpは、AI支援IDE向けの対立型コードレビューを行うMCPサーバーです。変更ファイルをCritic LLMに渡し、解決できない対立は人が判断します。

主な機能

  1. 01IDEエージェントとCritic LLMの討論
  2. 02変更ファイル全体をディスクから読み込み
  3. 03APIとローカルCLIのプロバイダーに対応
  4. 04読み取り専用レビュー
  5. 05ソースコンテキストは最大10ブロック

活用シーン

  1. 01完了前のコード変更レビュー
  2. 02レビュー状態を変更しないファイル確認
  3. 03ログイン済みローカルCLIを批評役に利用

MCP 対応

MCPクライアントにフェーズレビュー用ツールを公開します。クライアントが変更ファイルのパスと報告を渡すと、サーバーがファイルを読み込みCriticに送ります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mustafacagri-vibe-gate": {
"command": "npx",
"args": [
"-y",
"vibe-gate-mcp"
],
"env": {
"VIBE_WORKSPACE_ROOT": "<VIBE_WORKSPACE_ROOT>",
"CRITIC_PROVIDER": "<CRITIC_PROVIDER>",
"CRITIC_MODEL": "<CRITIC_MODEL>",
"CRITIC_PERSONA": "<CRITIC_PERSONA>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"GOOGLE_GENERATIVE_AI_API_KEY": "<GOOGLE_GENERATIVE_AI_API_KEY>",
"MINIMAX_API_KEY": "<MINIMAX_API_KEY>",
"OPENCODE_API_KEY": "<OPENCODE_API_KEY>",
"OPENCODE_PLAN": "<OPENCODE_PLAN>",
"CODEX_CLI_PATH": "<CODEX_CLI_PATH>",
"CLAUDE_CODE_CLI_PATH": "<CLAUDE_CODE_CLI_PATH>",
"CURSOR_AGENT_CLI_PATH": "<CURSOR_AGENT_CLI_PATH>",
"OPENCODE_CLI_PATH": "<OPENCODE_CLI_PATH>",
"CRITIC_CLI_TIMEOUT_MS": "<CRITIC_CLI_TIMEOUT_MS>",
"DEBUG": "<DEBUG>"
}
}
}
}
起動コマンドnpx -y vibe-gate-mcp
設定が必要な環境変数
VIBE_WORKSPACE_ROOTConsumer project root (auto-detected from the working directory if omitted)
CRITIC_PROVIDERCritic provider: openai, anthropic, google, minimax, opencode, codex-cli, claude-code, cursor-agent or opencode-cli (a signed-in local CLI is auto-detected if omitted)
CRITIC_MODELModel id override; required for opencode-cli as provider/model
CRITIC_PERSONACritic persona: security-first, performance-freak or clean-code-monk
OPENAI_API_KEYシークレットOpenAI API key (CRITIC_PROVIDER=openai)
ANTHROPIC_API_KEYシークレットAnthropic API key (CRITIC_PROVIDER=anthropic)
GOOGLE_GENERATIVE_AI_API_KEYシークレットGoogle Gemini API key (CRITIC_PROVIDER=google)
MINIMAX_API_KEYシークレットMiniMax API key (CRITIC_PROVIDER=minimax)
OPENCODE_API_KEYシークレットOpenCode API key (CRITIC_PROVIDER=opencode)
OPENCODE_PLANOpenCode plan: go (subscription) or zen (pay-as-you-go)
CODEX_CLI_PATHPath to the codex executable (CRITIC_PROVIDER=codex-cli)
CLAUDE_CODE_CLI_PATHPath to the claude executable (CRITIC_PROVIDER=claude-code)
CURSOR_AGENT_CLI_PATHPath to the agent executable (CRITIC_PROVIDER=cursor-agent)
OPENCODE_CLI_PATHPath to the opencode executable (CRITIC_PROVIDER=opencode-cli)
CRITIC_CLI_TIMEOUT_MSLocal CLI timeout in milliseconds, from 1000 to 600000
DEBUGLog parse and read failures to stderr

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmvibe-gate-mcp0.1.12

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
filesarrayいいえ推奨。VIBE_WORKSPACE_ROOT 配下のワークスペース相対ソースパス。MCP が各ファイルを読み取り、FILE:...CONTENT: ペイロードを構築します。次のいずれか 1 つだけを指定してください:files | semanticDiffPath | semanticDiff。ファイルは最大 10 件です。
roundintegerいいえラウンド番号(1-3)、デフォルトは 1
reportstringはいImplementer のレポート。必須項目:1. 具体的なファイルパスと行番号。2. 変更内容とその理由。3. 「future solutions」や「TODOs」が残っていないことの確認(即時修正のみ)。
phaseIdstringはいフェーズ識別子(例:phase-6-§1a または 1.1.1)
readOnlybooleanいいえtrue の場合、ワークスペースの状態、セッション、債務ログ、競合数、ケースファイルを書き込んだり削除したりしません。updateStatus より優先されます。デフォルト:false。永続的なレビュールoundは保存されません。
logToDebtobjectいいえ判定が DEBT で、Implementer が受け入れた場合、DEBT.md に記録します
logToDebt.subjectstringはい
logToDebt.rationalestringはい
dependenciesarrayいいえ新規または更新されたパッケージ名
semanticDiffstringいいえインラインの FILE:...CONTENT: ペイロード。files[] を優先してください。次のいずれか 1 つだけを指定してください:files | semanticDiffPath | semanticDiff。git diff ではありません。
updateStatusbooleanいいえfalse の場合、ACCEPT は .vibe/status.json に書き込みません。デフォルト:true。ただし、phaseIds が mcp-smoke- または vibe-gate-probe- で始まる場合を除きます。
semanticDiffPathstringいいえ事前構築された FILE:...CONTENT: ペイロードファイルへのワークスペース相対パス(生データまたは JSON {"semanticDiff":"..."})。次のいずれか 1 つだけを指定してください:files | semanticDiffPath | semanticDiff。

詳細

Vibe-Gate (MCP)

AI 支援 IDE 向けの敵対的品質ゲートです。IDE エージェントと Critic LLM がコードについて議論し、膠着状態になった場合にのみ人間が判断します。

クイックスタート(npm / npx)

1. Critic プロバイダーを選択する

API キーを使う直接 API プロバイダーか、インストール済みでサインイン済みのローカル CLI を使用します。ローカル CLI プロバイダーでは、別途プロバイダー API キーを用意する必要はありません。CRITIC_PROVIDER が省略された場合、Vibe-Gate はインストール済みのローカル CLI を次の順序で選択します。Codex、Claude Code、Cursor Agent、OpenCode CLI の順です。CRITIC_MODEL が provider/model 形式の場合、OpenCode CLI が最初に選択されます。最初のレビュー応答には、選択された CLI の名前を示す通知が含まれます。いずれも見つからない場合、OpenAI がデフォルトのままとなり、OPENAI_API_KEY が必要です。明示的に選択するには、CRITIC_PROVIDER を設定します。

パッケージの .env.example からコピーします。

# Direct API example
CRITIC_PROVIDER=openai
OPENAI_API_KEY=YOUR_OPENAI_API_KEY

# Or use the signed-in Codex CLI account (no API key)
# CRITIC_PROVIDER=codex-cli

# Or another signed-in local CLI (no separate API key)
# CRITIC_PROVIDER=claude-code
# CRITIC_PROVIDER=cursor-agent
# CRITIC_PROVIDER=opencode-cli
# CRITIC_MODEL=provider/model  # required for opencode-cli; see `opencode models`

# Or OpenCode (https://opencode.ai/auth)
# CRITIC_PROVIDER=opencode
# OPENCODE_API_KEY=...
# OPENCODE_PLAN=go
# CRITIC_MODEL=minimax-m3
プロバイダーCRITIC_PROVIDER認証
OpenAIopenaiOPENAI_API_KEY
AnthropicanthropicANTHROPIC_API_KEY
Google GeminigoogleGOOGLE_GENERATIVE_AI_API_KEY
MiniMaxminimaxMINIMAX_API_KEY
OpenCodeopencodeOPENCODE_API_KEY(任意で OPENCODE_PLAN)
Codex CLIcodex-cli既存の codex login セッション
Claude Codeclaude-code既存の Claude Code アカウントセッション
Cursor Agentcursor-agent既存の agent login セッション
OpenCode CLIopencode-cli保存済みの opencode auth login 認証情報とモデル

Cursor Agent の場合、Vibe-Gate はまず agent を実行し、メインのコマンドが利用できない場合は、従来の cursor-agent 実行ファイルにフォールバックします。

opencode は引き続き別個の Zen/Go HTTP プロバイダーであり、OPENCODE_API_KEY が必要です。opencode-cli はローカル CLI を実行し、CRITIC_MODEL に provider/model 形式の値が必要です。詳細については CLI ガイドを参照してください。

CRITIC_MODEL は Vibe-Gate のモデル許可リストを介さず、選択したプロバイダーまたは CLI に渡されます。プロバイダーがそのモデル ID をサポートしている必要があります。OpenAI API プロバイダーは Responses API を使用します。プロバイダーの設定を参照してください。

CLI のインストール、ログイン、設定、OpenCode セッションの詳細、および評価したその他の候補については、CLI プロバイダーの設定と代替手段を参照してください。すべての変数の一覧は、docs/project/VARIABLES.mdを参照してください。

2. Cursor MCP を設定する(任意の利用リポジトリ)

Codex CLI 用のプロジェクトまたはユーザーの .cursor/mcp.json を使用します(またはAPI キーの例を使用します)。

{
  "mcpServers": {
    "vibe-gate": {
      "command": "npx",
      "args": ["-y", "vibe-gate-mcp"],
      "env": {
        "VIBE_WORKSPACE_ROOT": "${workspaceFolder}",
        "CRITIC_PROVIDER": "codex-cli"
      }
    }
  }
}

直接プロバイダーを使う場合は、パッケージの隣にあるローカル .env、または VIBE_WORKSPACE_ROOT 配下の利用プロジェクト内にキーを保存してください(シークレットは決してコミットしないでください)。MCP の env は .env の設定を上書きします。CLI プロバイダーを使う場合は、MCP サーバーを実行する OS ユーザーと同じユーザーで CLI をインストールし、サインインしてください。

3. ツールを呼び出す(エージェント)
{
  "phaseId": "phase-1-§3",
  "report": "What changed, why, file:line — no TODOs",
  "files": ["src/a.ts", "src/b.ts"],
  "readOnly": true,
  "round": 1
}

変更したソースのパスを files[] に渡してください。 MCP はディスクからファイル全体を読み取り、Critic 用の FILE/CONTENT を内部でシリアライズします。エージェントが渡すのはパスと完了レポートであり、ファイル本文を貼り付けたり、コーパスを生成したりする必要はありません。この例では readOnly: true を指定して、レビュー状態が変更されないようにしています。docs/SEMANTIC_DIFF_PAYLOAD.mdを参照してください。

ローカル開発(このリポジトリ)

corepack yarn install
npm run build
npm test
cp .env.example .env   # fill Critic key
npm start              # stdio MCP

開発中にユーザー MCP を使用する場合:examples/cursor-mcp.user-local-dev.json(node dist/index.mjs と VIBE_WORKSPACE_ROOT=${workspaceFolder})。

npm run build の実行後、IDE で vibe-gate MCP サーバーを再起動してください。

公開

リリースは自動で行われます。main へのプッシュごとに .github/workflows/publish.yml が実行され、yarn quality を実行し、semantic-release が Conventional Commits からバージョンを決定します(fix: はパッチ、feat: はマイナー)。その後、provenance 付きで vibe-gate-mcp を npm に公開し、MCP Registry に io.github.mustafacagri/vibe-gate-mcp として登録します。トークンは保存されません。npm とレジストリはいずれも GitHub OIDC を通じてワークフローを信頼します。server.json はレジストリのエントリーであり、scripts/sync-server-json.mjs によってリリースバージョンに保たれます。

yarn quality          # what the workflow checks before it tags anything
npm pack --dry-run    # inspect the exact tarball contents

利用者は、上記のとおり npx -y vibe-gate-mcp を使用します。

ペイロードのソース — files[] を優先

優先度フィールド用途
1files[]通常のバッチ
2semanticDiffPath既存の互換性用データ保持フィールド
3semanticDiff既存の互換性用データ保持フィールド

プローブには readOnly: true を使用してください。updateStatus: false と mcp-smoke- / vibe-gate-probe- のフェーズ接頭辞でスキップできるのは、フェーズステータスの書き込みのみです。

ドキュメント

ドキュメント説明
docs/INSTALLATION.mdインストールとマルチリポジトリ MCP
docs/USAGE.md初回実行とプロバイダー
docs/CLI_PROVIDERS.mdローカル CLI プロバイダー
docs/SEMANTIC_DIFF_PAYLOAD.mdfiles[] の仕様
docs/ROADMAP.mdリリースチェックリスト
docs/TROUBLESHOOTING.md古い MCP、パスエラー
docs/project/VARIABLES.md環境変数の信頼できる情報源
examples/Cursor の mcp.json テンプレート

読み取り専用レビューとソーススロットの上限

ワークスペースに変更を加えずにチェックするには、submit_phase_review で readOnly: true を設定します。これは updateStatus: true を上書きし、セッションの消去/保存、ステータスの更新、負債の追記、競合カウンターの更新、デッドロックケースの書き込みを防ぎます。判定と懸念事項の検証には通常のレビュー規則が引き続き適用されます。デッドロックケースのデータは返されますが、保存されません。既存の一致するセッションは後続のラウンドで読み取れますが、読み取り専用の呼び出しでは新しいラウンドは保存されません。負債の受け入れが必要な場合、logToDebt は引き続きその意思を示しますが、ログは書き込まれません。デフォルトは false です。updateStatus: false のみを指定した場合は、フェーズステータスの更新だけが無効になります。

すべてのデータ保持フィールド(files[]、インラインの semanticDiff、raw/JSON の semanticDiffPath)には、後続ラウンドで追加される REQUEST: コンテキストを含め、実際の FILE/CONTENT ソースブロックが 10 個までという上限があります。パスやバイト列が同じでも、重複するブロックとリネームの両端はそれぞれ個別に数えられます。上限を超えるコーパスは、拡張された Critic リクエストを行う前に失敗し、先頭の 10 ブロックだけに切り詰められることはありません。指定された行範囲は、既存のファイルサイズと合計サイズの上限に従い、ファイル全体として読み取られます。Markdown、JSON、その他のドキュメント/データのエンドポイントは、ソースコンテキストとして拒否されます。呼び出し元は、選択したソースエンドポイントを明示的に分類します。files[] を使うと、MCP がソース本文全体を提供できます。削除されたファイルやリネーム前のエンドポイントについては、Vibe-Pilot などのオーケストレーターが、ピン留めされた Git のベースブロブを実際のスナップショットパスに実体化してから、そのパスを files[] に渡します。MCP はディスク上のファイルを読み取りますが、Git 履歴自体は読み取りません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。