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: aiganak-aiops-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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to capture, replay, inspect, diff, share, and manage executable bug artifacts (.bug files) via the BugProof CLI, supporting 10 tools and structured prompts for debugging workflows.
    130
    AGPL 3.0

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