Skip to main content
Glama
Alex0AI

RepoImmune MCP Server

by Alex0AI

RepoImmune은 저장소의 해결된 버그를 코드 네이티브하고 증거 기반의 검증으로 변환하여, 인간과 코딩 에이전트가 조회할 수 있게 합니다.

입력

처리

출력

GitHub 저장소 또는 PR diff

과거 이슈 → 수정 → 테스트 → 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

실행 가능한 메모리란 무엇인가?

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]

Behavior Card는 채팅 요약이 아닙니다. 수정 전/후 코드, AST 형태, 정확한 심볼, 회귀 테스트, 커밋, 소스 URL, 라이선스, 증거 클래스, 그리고 선택적 재생 캡슐에 불변 조건을 바인딩합니다.

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

정확한 줄을 보고하고, 해당 코드 블록이 과거에 왜 잘못되었는지 설명하며, 이슈/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은 풀 리퀘스트 diff를 읽기 전용으로 분석하고 SARIF/Markdown 증거를 업로드합니다.

  • stdio MCP 서버는 6개의 구조화된 읽기 전용 도구를 제공합니다: search_past_failures, explain_code_history, check_patch_against_memory, list_invariants_for_file, get_regression_test, replay_behavior_case.

  • 공개 Agent Skill은 에이전트가 위험한 편집 전에 과거 기록을 회상하고, 완료를 주장하기 전에 다시 확인하도록 요청합니다. 커밋, 푸시, 병합 또는 테스트 우회 권한은 부여하지 않습니다.

  • 정적 데모는 로그인이나 API 키 없이 동작합니다.

증거 클래스

모든 결과는 명시적으로 다음 중 하나입니다:

  • verified: 기본 코드/테스트 증거로 직접 재생되거나 기계적으로 확인됨.

  • externally_reported: 신뢰할 수 있는 업스트림 또는 벤치마크 기록에서 가져왔으며, 여기서 재생산되지 않음.

  • heuristic: 유용한 후보 또는 유사성 신호이며, 증명이 아님.

  • inconclusive: 상충되거나 불완전한 증거.

유사성 점수는 결코 증명으로 제시되지 않습니다. 발견 사항은 항상 일치하는 소스와 증거를 함께 표시합니다.

왜 다른가?

  • 에이전트/채팅 메모리: 대화 내용이나 저장소 사실을 기억합니다; RepoImmune은 코드 기록을 마이닝하여 모든 에이전트 세션보다 오래 지속되는 기계적 검증을 생성합니다.

  • SWE-bench: 에이전트가 이슈를 수리할 수 있는지 평가합니다; RepoImmune은 해결된 이슈를 지속적인 방지 자산으로 변환합니다.

  • 정적 분석: 일반 규칙에서 시작합니다; RepoImmune은 해당 저장소의 실제 실패에서 저장소 특화 불변 조건을 학습합니다.

  • 테스트 생성: 테스트를 생성할 수 있습니다; RepoImmune은 보고서, 버그가 있는 코드, 수정된 코드, 테스트, 불변 조건 간의 인과 사슬을 보존합니다.

  • git blame: 누가와 언제를 알려줍니다; RepoImmune은 왜 동작이 유지되어야 하는지 설명하고 이를 검증할 수 있습니다.

자세한 증거 기반 비교는 research-landscape.md를 참조하세요.

보안 모델

이슈 본문, PR 댓글, 코드, 패치 및 저장소 메타데이터는 신뢰할 수 없는 데이터입니다. RepoImmune은 이를 명령어로 평가하지 않습니다. 마이닝은 HTTPS 응답만 사용하며, refs와 저장소 이름은 검증됩니다. 캡슐 실행은 고정된 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.md, THIRD_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을 달성했지만, 이는 명시적으로 동일 소스 파이프라인 테스트입니다. 독립적인 마이닝 정밀도와 통제된 Agent 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