Skip to main content
Glama
TheNovaNodes

MCP GitHub PR Reviewer

by TheNovaNodes

module_type: MCP Server status: Active protocol: MCP / JSON-RPC / stdio primary_capability: Automated security reviews for GitHub PR diffs with deep fallback redundancy requires: python 3.12+, Cloudflare Workers AI token, Poolside token works_with: Google Antigravity, Telegram Agent, Cloudflare, Poolside, OpenRouter last_verified: 2026-08-21

MCP GitHub PR Reviewer

多層フォールバック冗長性を備えた、高い耐障害性を持つ自動GitHub Pull Requestセキュリティレビューを提供するユニバーサルフォールバックMCPサーバー。

Related MCP server: MCP Server PR Pilot

ステータスと最終検証日

ステータス: Active
最終検証日: 2026-08-21

できること / できないこと

できること:

  • audit_pr ツールをAIエージェントに公開するMCPサーバーを実装。

  • コード差分を処理し、構造化されたセキュリティ脆弱性とアーキテクチャフィードバックをJSON形式で返す。

  • 14層のフェイルオーバーパイプライン全体でLLMリクエストを自動的にルーティングおよびカスケードし、100%の稼働率を保証。

  • Cloudflare Workers AI、Poolside Native、OpenRouter APIエンドポイント間で負荷分散とフェイルオーバーを実行。

できないこと:

  • PRを自動的にマージしたり、コード自体に作用したりすることはない(純粋に分析的な監査役として機能)。

  • フェッチ用のGitHub APIトークンを直接管理することはない。差分は呼び出し元エージェントが提供することが想定されている。

エージェントがこれを使う理由

エージェントは、トークン管理、フォールバックロジック、リトライループを自分で処理することなく、計算負荷の高いコードレビュータスクを専門の外部LLMにオフロードするためにこのMCPサーバーを使用する。エージェントは差分を提供するだけで、MCPサーバーが高品質なレビューを保証する。

アーキテクチャと依存関係

アーキテクチャ:

  • ユニバーサルフォールバックエンジン: 設定済みのOpenAI互換LLMエンドポイントとキープールを反復処理するステートマシン(engine.py)。

  • プロバイダーパイプライン(設定可能): FALLBACK_PROVIDERS 環境変数(JSON配列)を使用して、独自のカスケード型プロバイダーパイプラインを設定できる。

    • 設定例: 最初にローカルのOllamaを試し、次にDeepSeek、最後にOpenRouter。

  • レガシーラボサポート: FALLBACK_PROVIDERS が空の場合、レガシー正規表現パーシングを使用してTheNovaNodesラボのデフォルト(Cloudflare -> Poolside -> OpenRouter)に自動的にフォールバックする。

  • MCPプロトコルレイヤー: MCPサーバー実行に標準の stdio JSON-RPCを使用(server.py)。

依存関係:

  • mcp(公式Python SDK)

  • 標準Python urllib(サードパーティのHTTPクライアントは不要)

  • pytest(テスト用)

互換性

  • Python 3.12+

  • Linux/Unix環境

クイックスタートとヘルスチェック

クイックスタート:

git clone https://github.com/TheNovaNodes/mcp-gh-pr-reviewer.git
cd mcp-gh-pr-reviewer
python3 -m venv .venv
source .venv/bin/activate
pip install mcp
# Ensure vault tokens are populated in /dev/shm/agent_vault/
./run_mcp.sh

ヘルスチェック: エンジンの初期化とAPI接続を検証するには、次を実行する:

python3 test_fallback.py

これにより、シミュレートされたPR差分監査がトリガーされ、サーバーをMCPクライアントに公開することなくカスケードをテストできる。

設定と環境変数

変数

説明

FALLBACK_PROVIDERS

プロバイダーのJSON配列。例: [{"name": "Local", "url": "http://127.0.0.1:11434/v1/chat/completions", "model": "qwen2.5-coder", "keys_env": "LOCAL_TOKENS"}]

CF_TOKENS

(レガシーモード)CloudflareトークンとアカウントID。

PS_TOKENS

(レガシーモード)Poolside APIキー。

OR_TOKENS

(レガシーモード)OpenRouter APIキー。

副作用を含む完全なMCPツール/APIテーブル

サーバーキー

名前

タイプ

プレーン

副作用 / アクション

universal-pr-auditor

PR Auditor (Universal)

audit

data

差分を読み取り、HTTP経由で外部LLMにクエリし、JSONを返す。

セキュリティモデルと信頼境界

  • シークレット管理: サーバーは run_mcp.sh ラッパーを介してRAMディスク(/dev/shm/agent_vault/)からシークレットを動的に読み取る。シークレットがPythonソースコードやgit履歴にハードコードされることは決してない。

  • 実行: stdio を介して通信する標準のローカルプロセスとして実行される。ローカルでオープンネットワークポートを公開することはない。

テストと正確なコマンド

pytest を使用してテストを実行するには:

python3 -m pytest test_engine.py

このスイートは、実際のLLMトークンを消費せずに、キー抽出、パーシング、エンジンルーティングロジックをテストする。

運用、ログ、バックアップ/リストア、ロールバック

  • 運用: サーバーは antigravity-telegram-agent によって run_mcp.sh を使用してコンテキスト的に実行される。

  • ログ: エンジンログ(フォールバック、HTTPエラー)は stderr に出力され、エージェントのMCPマネージャーによってインターセプトされる。

  • バックアップ/リストア: このサーバーは永続状態を保存しない。

  • ロールバック: git checkout main && git reset --hard <hash>

汎用MCPクライアントの例

監査をトリガーするJSON-RPCペイロードの例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "callTool",
  "params": {
    "name": "audit_pr",
    "arguments": {
      "diff_content": "+ def bypass_auth():\n+    return True"
    }
  }
}

制限事項とロードマップ

制限事項:

  • OpenRouterの無料モデルには厳しいレート制限があり、頻繁に失敗する可能性がある(エンジンによってグレースフルに処理される)。

  • 128Kトークンを超える差分は、LLMプロバイダーによって切り詰められる可能性がある。

ロードマップ:

  • ネイティブなGitHub PRフェッチ機能を追加(現在は差分の提供を呼び出し元エージェントに依存)。

関連するTheNovaNodesモジュール

  • Antigravity Telegram Agent

  • Google Jules MCP modules

ライセンス

MIT License

Related MCP Connectors

Related MCP Servers