Skip to main content
Glama
Alex0AI

RepoImmune MCP Server

by Alex0AI

RepoImmune превращает решённые баги репозитория в код-нативные проверки с доказательной базой, к которым могут обращаться люди и кодинг-агенты.

Вход

Обработка

Результат

Репозиторий GitHub или diff 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

Демо работает офлайн, без ключей и без зависимостей во время выполнения. Проверка намеренно завершается с кодом 2, потому что находит реальную историческую регрессию из Astropy PR #12907.

Related MCP server: cms mcp

Что такое исполняемая память?

Карточка поведения — это не сводка чата. Она связывает инвариант с кодом до/после, 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

Он сообщает точную строку, объясняет, почему блок из всех единиц исторически был ошибочным, даёт ссылки на issue/PR/merge-коммит и называет 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 и не заявляет карточку поведения на основе одного заголовка.

Интеграции с агентами и CI

  • Композитный GitHub Action анализирует diff'ы pull request'ов в режиме только для чтения и загружает доказательства SARIF/Markdown.

  • stdio MCP-сервер предоставляет шесть структурированных инструментов только для чтения: search_past_failures, explain_code_history, check_patch_against_memory, list_invariants_for_file, get_regression_test и replay_behavior_case.

  • Открытый Agent Skill просит агента вспомнить историю перед рискованными правками и снова перед заявлением о завершении. Он не предоставляет прав на commit, push, merge или обход тестов.

  • Статическое демо работает без входа в систему и без API-ключа.

Классы доказательности

Каждый результат явно относится к одному из:

  • verified: непосредственно воспроизведено или механически подтверждено первичными доказательствами кода/тестов.

  • externally_reported: доверенная запись выполнения из вышестоящего проекта или бенчмарка, не воспроизведённая здесь.

  • heuristic: полезный кандидат или сигнал сходства, но не доказательство.

  • inconclusive: противоречивые или неполные доказательства.

Оценка сходства никогда не подаётся как доказательство. Находки всегда показывают совпавший код и доказательства из исходников.

В чём отличие

  • Память агента/чата: запоминает разговоры или факты о репозитории; RepoImmune извлекает историю кода и создаёт механические проверки, которые переживают любую сессию агента.

  • SWE-bench: оценивает, может ли агент исправить issue; RepoImmune превращает решённые issues в долговечные активы предотвращения.

  • Статический анализ: исходит из общих правил; RepoImmune изучает специфичные для репозитория инварианты на основе реальных сбоев этого репозитория.

  • Генерация тестов: может создавать тесты; RepoImmune сохраняет причинно-следственную связь между отчётом, ошибочным/исправленным кодом, тестом и инвариантом.

  • git blame: сообщает, кто и когда; RepoImmune объясняет, почему поведение должно сохраниться, и может это проверить.

См. research-landscape.md для сравнения, подкреплённого доказательствами.

Модель безопасности

Текст issue, комментарии к PR, код, патчи и метаданные репозитория — это недоверенные данные. RepoImmune никогда не интерпретирует их как инструкции. Майнинг использует ограниченные HTTPS-ответы; ссылки (refs) и имена репозиториев проверяются; запуск капсул использует фиксированный argv без шелла, отвергает абсолютные пути и симлинки и завершается по таймауту. Скрипты установки и тесты неизвестных репозиториев по умолчанию не выполняются. См. SECURITY.md и docs/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 карточек поведения, 12 репозиториев и 30 лёгких структурных капсул. На детерминированных мутациях он обнаружил 120/120 точных исторических откатов и 120/120 удалений защищённых утверждений; рефакторинги с теми же символами и фиксированной формой дали 9/120 ложных срабатываний (7,5%). Поиск на основе заголовков достиг Recall@5/MRR 1.0/1.0, но это явно тест конвейера на том же источнике. Независимая точность майнинга и контролируемый A/B-тест агентов остаются неубедительными.

Участие в разработке

Прочитайте CONTRIBUTING.md, дорожную карту и схему карточки поведения, прежде чем предлагать новый майнер или источник доказательств. Лицензия 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