Skip to main content
Glama
Alex0AI

RepoImmune MCP Server

by Alex0AI

RepoImmune は、リポジトリで解決済みのバグを、コードネイティブでエビデンスに基づくチェックへと変換します。人間とコーディングエージェントの両方がクエリできます。

入力

処理

出力

GitHub リポジトリまたは PR の差分

過去の issue → 修正 → テスト → AST エビデンスを取得

正確な回帰箇所、ソースリンク、保護されたテスト、および過去の修正内容

RepoImmune ライブデモ: パッチエビデンスとカプセルリプレイ

60秒クイックスタート

git clone https://github.com/Alex0AI/RepoImmune.git
cd RepoImmune
python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
python -m pip install -e .
repoimmune init .
repoimmune check --diff examples/reintroduce-astropy-12907.diff --memory examples/memory
repoimmune replay astropy-12907 --memory examples/memory
repoimmune report --format html

このデモはオフライン、キーレス、実行時依存関係なしで動作します。このチェックは、Astropy PR #12907 からの実際の過去の回帰を検出するため、意図的に終了コード 2 を返します。

Related MCP server: cms mcp

実行可能なメモリとは何か?

Behavior Card はチャットの要約ではありません。不変条件を、修正前/修正後のコード、AST 形式、正確なシンボル、回帰テスト、コミット、ソース URL、ライセンス、エビデンスクラス、およびオプションのリプレイカプセルに結び付けます。RepoImmune は、エビデンスチェーンが不完全な場合、マイニングされた候補の昇格を拒否します。

flowchart LR
  I[Issue / report] --> B[Buggy commit]
  B --> F[Failing behavior]
  F --> P[Fix PR / commit]
  P --> T[Regression test]
  T --> S[AST + symbol change]
  S --> V[Repository invariant]
  V --> C[Patch immunity check]

同梱の垂直スライスは、この正確なリバージョンを検出します:

- cright[-right.shape[0]:, -right.shape[1]:] = right
+ cright[-right.shape[0]:, -right.shape[1]:] = 1

正確な行を報告し、全 1 のブロックが歴史的に誤りだった理由を説明し、issue/PR/マージコミットにリンクし、修正とともに追加された pytest ケースを特定します。

CLI

repoimmune init .
repoimmune mine --repo owner/project
repoimmune check --diff HEAD~1
repoimmune recall "pagination returns duplicate rows"
repoimmune explain <behavior-card-id>
repoimmune replay <capsule-id>
repoimmune report --format html
repoimmune validate <card.json>

check は Markdown、JSON、または SARIF を出力します。mine は保守的な候補のみを保存します。LLM を呼び出すことはなく、タイトルだけで Behavior Card を主張することもありません。

エージェントおよび CI 統合

  • 複合 GitHub Action は、プルリクエストの差分を読み取り専用で分析し、SARIF/Markdown エビデンスをアップロードします。

  • stdio MCP サーバーは、6 つの構造化された読み取り専用ツールを公開します: search_past_failuresexplain_code_historycheck_patch_against_memorylist_invariants_for_fileget_regression_testreplay_behavior_case

  • オープンな Agent Skill は、エージェントに対し、リスクのある編集の前に履歴を想起し、完了を主張する前にもう一度想起するよう求めます。コミット、プッシュ、マージ、またはテストバイパスの権限は付与しません。

  • 静的デモ は、ログインや API キーなしで動作します。

エビデンスクラス

すべての結果は、明示的に次のいずれかです:

  • verified: 直接リプレイされたか、一次コード/テストエビデンスで機械的に裏付けられたもの。

  • externally_reported: 信頼できる上流またはベンチマークの実行記録であり、ここでは再現されていないもの。

  • heuristic: 有用な候補または類似性シグナルであり、証明ではないもの。

  • inconclusive: 矛盾または不完全なエビデンス。

類似性スコアが証明として提示されることはありません。調査結果には常に、一致したコードとソースエビデンスが表示されます。

他との違い

  • エージェント/チャットメモリ: 会話やリポジトリの事実を記憶します。RepoImmune はコード履歴をマイニングし、あらゆるエージェントセッションより長く存続する機械的なチェックを作成します。

  • SWE-bench: エージェントが issue を修復できるかを評価します。RepoImmune は解決済みの issue を、永続的な予防資産に変換します。

  • 静的解析: 一般的なルールから始めます。RepoImmune は、そのリポジトリの実際の障害から、リポジトリ固有の不変条件を学習します。

  • テスト生成: テストを作成することがあります。RepoImmune は、レポート、バグのある/修正されたコード、テスト、不変条件の間の因果連鎖を保持します。

  • git blame: 誰がいつ変更したかを示します。RepoImmune は、なぜその動作が生き残らなければならないかを説明し、それをチェックできます。

エビデンスに基づく比較については、research-landscape.md を参照してください。

セキュリティモデル

issue テキスト、PR コメント、コード、パッチ、リポジトリメタデータは、信頼できないデータです。RepoImmune はこれらを命令として評価することはありません。マイニングは境界付き HTTPS 応答を使用します。ref とリポジトリ名は検証されます。カプセル実行は、シェルなしの固定 argv を使用し、絶対パスとシンボリックリンクを拒否し、タイムアウトします。未知のリポジトリのインストールスクリプトやテストは、デフォルトでは実行されません。SECURITY.mddocs/threat-model.md を参照してください。

現在のスコープと正直な限界

アルファ版は、Python AST と pytest エビデンスを深くサポートしています。TypeScript/TSX には、正規化された構造と呼び出し抽出のためのオプションの固定 tree-sitter アダプターがあります。JavaScript は決定論的なトークン構造を使用し、Jest/Vitest はテストエビデンスとして記録できます。プログラム全体の手続き間到達可能性、自動上流環境再構築、および広範な言語サポートはロードマップ項目です。データセット規模のカードは、リプレイされるまで externally_reported です。同梱の Astropy 垂直スライスのみが、v0.1.0 でローカル検証された動作カプセルです。

再現性

python scripts/build_research_snapshot.py --limit 500 --cards 120
python scripts/run_experiments.py
pytest
coverage run -m pytest && coverage report
ruff check . && mypy src/repoimmune

公開されたすべての数値は research/results.json に再生成されます。分類と制限は、失敗または結論が出なかったケースも含めて保持されます。データの来歴は DATA_SOURCES.mdTHIRD_PARTY.md、および research/data-card.md にあります。

コミットされた v0.1 スナップショットには、500 の候補、120 の Behavior Card、12 のリポジトリ、30 の軽量構造カプセルが含まれています。決定論的変異では、120/120 の正確な歴史的リバージョンと 120/120 の保護されたアサーション削除を検出しました。同一シンボルの固定形式リファクタリングでは、9/120 の誤検出 (7.5%) が発生しました。タイトル由来の検索は Recall@5/MRR 1.0/1.0 に達しましたが、これは明示的に同一ソースの配管テストです。独立したマイニング精度と管理されたエージェント A/B は、依然として結論が出ていません。

コントリビューション

新しいマイナーまたはエビデンスソースを提案する前に、CONTRIBUTING.mdロードマップ、および Behavior Card スキーマをお読みください。Apache-2.0 ライセンスです。

中文说明:README.zh-CN.md

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Exposes codebase memory as native tools for AI agents, enabling queries, feature tracing, impact analysis, and alignment verification.
    3
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding agents to retrieve QA cases from a curated knowledge base grounded in real bugs, supporting symptom search and feature-wide coverage for test planning.
    6
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables autonomous infrastructure diagnostics, log root-cause analysis, and safe code patching via tools for querying logs, inspecting Python AST, and applying git-safe patches.
    3
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Git-backed platform for skills, tools, and context for AI agents

  • Browser-backed QA with evidence and fix-ready reports for coding agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alex0AI/RepoImmune'

If you have feedback or need assistance with the MCP directory API, please join our Discord server