RepoImmune MCP Server
RepoImmune превращает решённые баги репозитория в код-нативные проверки с доказательной базой, к которым могут обращаться люди и кодинг-агенты.
Вход | Обработка | Результат |
Репозиторий GitHub или diff PR | Извлечение исторических issue → фикс → тест → AST-доказательств | Точное место регрессии, ссылки на исходники, защищённые тесты и исторический фикс |

Быстрый старт за 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
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityBmaintenanceIntegrates GitHub Copilot Agent with Azure DevOps to fetch, analyze, and report bug data, allowing you to query bugs, generate dashboards, and export reports via natural language.
- AlicenseNot gradedqualityBmaintenanceExposes codebase memory as native tools for AI agents, enabling queries, feature tracing, impact analysis, and alignment verification.3AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables 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.6MIT
- AlicenseBqualityCmaintenanceEnables autonomous infrastructure diagnostics, log root-cause analysis, and safe code patching via tools for querying logs, inspecting Python AST, and applying git-safe patches.3Apache 2.0
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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