GitPilot MCP
GitPilot MCP
GitPilot — это управляемая панель управления для AI-инженерии на GitHub. Она связывает задачи, одобренный локальный код, долговременную память проекта и проверяемые запуски верификации через инструменты MCP и веб-дашборд.
Возможности
Список собственных, совместных и организационных репозиториев, доступных подключённой учётной записи GitHub.
Создание, обновление, назначение меток, комментирование, закрытие и повторное открытие задач.
Восстановление знаний о репозитории между сеансами AI.
Получение ранжированных фрагментов кода в рамках фиксированных бюджетов токенов.
Чтение ограниченных диапазонов файлов и применение правок с точным совпадением.
Запуск только команд верификации, полученных из манифеста.
Требование успешной верификации перед завершением запуска исправления AI.
Ведение неизменяемой истории контекста, чтений, правок, проверок и завершений.
Подключение собственного AI-провайдера репозитория и генерация структурированного предложения патча, применение его только после явного одобрения, верификация и публикация в виде черновика pull request — никогда на защищённой ветке, никогда без второго явного одобрения на публикацию.
Возможность автоматического повтора GitPilot после неудачной верификации (до ограниченного числа попыток), перенося только сбой, а не весь репозиторий — при этом остановка для проверки человеком происходит при высокорискованном или низкодоверительном предложении, и публикация никогда не выполняется автоматически.
Выбор ручного режима без AI в рамках репозитория, который блокирует вызовы провайдера, сохраняя ограниченные доказательства, точные правки, изолированные ветки, разрешённую верификацию, историю аудита и публикацию черновиков PR — всегда в один клик, даже после сбоя биллинга, квоты или учётных данных на пути AI.
Related MCP server: Agentic CI/CD MCP Orchestrator
Настройка
cd /d "C:\Projects - Building\GithubPilotMCP"
.venv\Scripts\activate.bat
pip install -r requirements.txt
copy .env.example .envЗапустите дашборд и вставьте персональный токен доступа GitHub в Connect repository & brain. При локальной установке только с loopback GitPilot создаёт приватный сохранённый ключ хранилища в data/.gitpilot-master-key, проверяет токен, шифрует его в состоянии покоя и никогда не возвращает его в браузер. Продакшн, стейджинг и развёртывания с доступом из сети должны устанавливать GITPILOT_MASTER_KEY через защищённое хранилище секретов. В качестве альтернативы начальной настройки установите GITHUB_TOKEN в .env.
Предпочтительно использовать fine-grained токен с доступом только к целевым репозиториям. Используйте чтение метаданных, чтение/запись содержимого, чтение/запись задач и чтение/запись pull request, когда нужен полный рабочий процесс диагностики, патча и черновика PR. GitHub может потребовать одобрения владельца репозитория или администратора организации; GitPilot не может обойти это одобрение.
Сопоставьте одобренные локальные репозитории для операций с кодом:
GITPILOT_CODE_ROOTS=my-repo=C:\path\to\my-repoРазделяйте несколько сопоставлений точкой с запятой. GitPilot перечисляет все репозитории, доступные токену, но может читать или редактировать код только в явно сопоставленных рабочих областях.
Диагностика настройки
Перед регистрацией GitPilot в Claude проверьте, что всё настроено правильно:
python setup_doctor.pyКаждая проверка выводит статус на простом языке, точный шаг восстановления при ошибке и машиночитаемые детали. Она никогда не выводит значение токена. Диагностика распознаёт как зашифрованные подключения дашборда, так и GITHUB_TOKEN, затем проверяет Python, зависимости, аутентификацию GitHub, доступ к репозиториям, SQLite, рабочие области кода, готовность MCP, порт дашборда и готовность регистрации Claude CLI.
Дашборд
python dashboard.pyОткройте http://127.0.0.1:8765. Держите этот интерфейс на localhost или размещайте за аутентифицированным TLS.
Элемент управления Log in предоставляет нативные учётные записи email/пароль без необходимости Google. Создание учётной записи запрашивает имя профиля GitHub, а не репозиторий. Каждая учётная запись получает уникальный идентификатор клиента. Пароли солятся и хэшируются односторонне с помощью scrypt; учётные данные GitHub и AI продолжают шифроваться с помощью GITPILOT_MASTER_KEY и привязываются к этому идентификатору клиента. Клиенты также могут создавать отзываемые ключи API GitPilot gp_live_... из раздела Account & API access. Открытый текст ключа API отображается один раз, и хранится только его SHA-256 хэш.
GitPilot никогда не собирает комбинацию имени пользователя/пароля GitHub или одноразовый пароль GitHub. При настроенном GitHub App создание учётной записи переходит на экран установки GitHub, чтобы клиент выбрал точные репозитории и разрешения. При настроенном OAuth GitPilot перенаправляет на поток авторизационного кода GitHub с проверкой состояния и PKCE; GitHub обрабатывает вход и двухфакторную аутентификацию на github.com, затем возвращает авторизационный токен. Проверенный персональный токен доступа остаётся локальным запасным вариантом. Подтверждённая личность GitHub заменяет любую опечатку в профиле, и GitPilot перечисляет только те репозитории, к которым, по словам GitHub, подключение имеет доступ.
Выбор репозитория происходит после проверки подключения. Клиент может позже снова запустить Select repositories после создания репозитория, принятия приглашения или расширения установки токена/App. Репозитории с отдельным владельцем и организационные репозитории остаются подчиненными правилам одобрения GitHub.
Локальный гостевой предпросмотр остаётся доступным по умолчанию. Для развёрнутого клиентского сервиса установите GITPILOT_REQUIRE_ACCOUNT_LOGIN=true, настройте постоянный GITPILOT_SESSION_SECRET, установите GITPILOT_HTTPS_ONLY=true и завершайте трафик через HTTPS. Не создавайте файлы Python или конфигурации, содержащие секреты одного клиента; записи учётных данных принадлежат зашифрованному хранилищу базы данных, ограниченному владельцем.
Для надёжной презентации без зависимости от подключения к площадке или живой учётной записи GitHub откройте http://127.0.0.1:8765/?demo=1. Режим демо чётко обозначен и использует смоделированные данные репозитория, задач, поиска, памяти, модели, стоимости, подключения GitHub, подключения AI-провайдера и Brain Profile. Обычный URL всегда использует реальные настроенные сервисы.
Подключение репозитория и выбор мозга
Нажмите Connect repository & brain, чтобы открыть мастер настройки: вставьте и проверьте токен GitHub, выберите любой доступный собственный/совместный/организационный репозиторий, выберите DeepSeek, Anthropic, OpenAI-совместимый/локальный, Google Gemini или xAI Grok, подключите собственный ключ провайдера клиента, выберите модель, установите лимиты токенов и стоимости и просмотрите всё перед активацией. Это BYOK (принеси свой ключ): GitPilot никогда не предоставляет общий ключ разработчика, никогда не переключается на ключ оператора и никогда не делится учётными данными одного клиента с другим клиентом. Использование провайдера и расходы принадлежат учётной записи клиента, выдавшей ключ. Проверка доступа объясняет, когда отдельный владелец или организация должны одобрить доступ, и мастер может принять ожидающее приглашение в репозиторий после того, как GitHub его выдаст. Настроенный GitHub App остаётся дополнительным режимом подключения. См. docs/BRAIN.md для полной архитектуры, модели данных и модели угроз.
При выборе рабочего процесса выберите Manual / no AI, чтобы работать без учётных данных AI или вызовов провайдера. Этот выбор хранится отдельно для каждого репозитория и обеспечивается бэкендом. Переключение обратно на AI требует явной активации действительного Brain Profile репозитория.
Хостируемый доступ к AI и подписки на чат — это отдельные продукты. Доступ ChatGPT Plus/Pro или Codex не предоставляет автоматически биллинг OpenAI Platform API для вызовов, выполняемых GitPilot, а подписка на чат DeepSeek не финансирует API DeepSeek. Мастер делает это различие явным. Чтобы избежать платы за хостируемую модель, используйте Manual / no AI или подключите локальный сервер в стиле Ollama/vLLM через OpenAI-compatible / local. DeepSeek V4 Flash — самый дешёвый хостируемый вариант во встроенном каталоге, но он всё равно требует ключа API DeepSeek Platform и доступного баланса.
Пользователи без ключа API могут выбрать Use external chat (copy/paste). Это отдельный ручной запасной вариант, а не подключение к учётной записи ChatGPT/Claude: GitPilot не может войти в подписку пользователя или управлять ею. Он создаёт ограниченный, готовый к копированию промпт, содержащий только выбранные доказательства задачи и разрешённые команды верификации. Пользователь вставляет этот промпт во внешнего ассистента, затем вставляет возвращённое JSON-предложение обратно в GitPilot. Импортированный результат не заслуживает доверия: он должен пройти те же проверки области файлов, точного совпадения, размера патча, команд верификации, хэша предложения, одобрения человеком, изолированной ветки и тестов, что и предложение, сгенерированное API. GitPilot не выполняет вызовов провайдера и записывает нулевую стоимость модели для этой передачи.
Как только мозг репозитория активен, запуск управляемого исправления из задачи проводит через доказательства → диагностику → предложение патча → одобрение и применение (изолированная ветка) → верификацию → одобрение и публикацию (черновик PR) — каждый этап отображается на панели конвейера дашборда, и каждая запись в файловую систему/GitHub защищена отдельным явным одобрением человека. См. docs/BRAIN.md §16 для точного описания того, что AI может и не может делать на каждом этапе.
Хостируемый мультитенантный вход (опционально, бета)
По умолчанию дашборд работает в локальном режиме с одним владельцем — без входа, идентично текущему. Чтобы позволить нескольким людям входить со своей собственной учётной записью GitHub:
Создайте GitHub OAuth App на
https://github.com/settings/developers. Установите его URL обратного вызова авторизации наhttp://<ваш-хост>/auth/callback.Установите
GITHUB_OAUTH_CLIENT_IDиGITHUB_OAUTH_CLIENT_SECRETв.envиз этого приложения.Сгенерируйте
GITPILOT_MASTER_KEY(см..env.example) — он шифрует токен GitHub каждого вошедшего пользователя в состоянии покоя. Никогда не коммитьте его и не делитесь им за пределами хранилища секретов вашего развёртывания.Перезапустите дашборд. Посетители теперь видят экран «Log in with GitHub».
Память проекта и история запусков исправлений ограничены вошедшим пользователем в хостируемом режиме. Локальное редактирование кода остаётся намеренно недоступным для хостируемых пользователей, потому что хостируемый сервис не может безопасно получить доступ к диску клиента; запускайте MCP-клиент локально для операций с кодом.
Нативные учётные записи GitPilot независимы от опционального потока GitHub OAuth. Клиент может сначала создать рабочую область email/пароль, а затем вставить fine-grained персональный токен доступа GitHub в мастер репозитория. OAuth может оставаться отключённым для локального развёртывания.
Для максимально надёжного онбординга клиентов настройте публичный GitHub App и установите GITHUB_APP_ID, GITHUB_APP_SLUG и GITHUB_APP_PRIVATE_KEY_PATH. GitHub Apps предпочтительны, потому что клиенты выбирают конкретные репозитории, и приложение получает fine-grained разрешения и кратковременные установочные токены. OAuth остаётся поддерживаемым запасным вариантом. Зашифрованный fine-grained персональный токен доступа остаётся доступным для локальной разработки, где ни одна из интеграций не настроена.
Опциональные значения GITPILOT_INPUT_USD_PER_MTOK и GITPILOT_OUTPUT_USD_PER_MTOK
управляют нейтральной к провайдеру плановой оценкой, отображаемой перед запуском.
Фактический биллинг провайдера остаётся авторитетным.
Claude MCP
Зарегистрируйте один раз:
claude mcp add gitpilot -- "C:\Projects - Building\GithubPilotMCP\.venv\Scripts\python.exe" "C:\Projects - Building\GithubPilotMCP\server.py"Пример промпта:
Start an AI fix run for issue #12 in atlas-library-ai. Recall project memory, inspect only the ranked files, make the smallest safe edit, verify it, save the resolution, and only then close the issue.Ручной поток использует ai_start_issue_fix, ai_read_file, ai_edit_file, ai_verify_fix и ai_complete_issue_fix. Когда у репозитория есть активный Brain Profile, управляемый поток исправления (ai_generate_patch_proposal, ai_approve_and_apply_patch, ai_verify_fix, ai_publish_fix) управляет теми же границами сбора доказательств и одобрения человеком через патч, созданный AI, вместо ручных правок. Произвольные команды оболочки никогда не принимаются.
Ручные точные правки хэшируются для аудита, применяются только на выделенной ветке gitpilot/fix-* и могут использовать тот же проверенный издатель черновиков pull request. Патчи, сгенерированные AI, требуют точного хэша рассмотренного предложения; его отсутствие приводит к закрытию с ошибкой.
Docker
docker compose up --buildОбраз запускается от непривилегированного пользователя с файловой системой только для чтения. SQLite сохраняется в data/, а одобренный код монтируется отдельно.
Тест
python -m pytest -qЭто запускает только полный офлайн-набор — каждый тест с живыми учётными данными является опциональным и пропускается по умолчанию (tests/test_live_integration.py, tests/test_live_guided_fix_integration.py). См. их строки документации модулей для точных инструкций по настройке, если вы хотите проверить реальную установку GitHub App и реального AI-провайдера от начала до конца.
См. docs/ARCHITECTURE.md с описанием модели памяти, конечного автомата, границ провайдеров и рекомендаций по эксплуатации, а также docs/BRAIN.md с описанием подключения GitHub App, хранилища ключей ИИ, профиля репозитория Brain и конвейера автоматического исправления ошибок. Никогда не коммитьте .env и не раскрывайте токены в журналах или снимках экрана.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
MCP-native AI SRE: ask what's broken in production, get a reviewed GitHub fix PR.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- FlicenseBqualityDmaintenanceThe Git MCP Server allows AI assistants to perform enhanced Git operations via the Model Context Protocol, supporting core Git functions, branch and tag management, GitHub integration, and more.2149 npm6-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that diagnoses GitHub Actions workflow failures and automatically creates repair pull requests using LLM-generated unified diffs. It includes a governance layer to orchestrate autonomous fixes or human-reviewed repairs based on risk assessment thresholds.-
- AlicenseNot gradedqualityCmaintenanceUnified MCP control plane for AI pull request reviews on GitHub.39 npm1MIT
- AlicenseAqualityBmaintenanceAn MCP server that enables autonomous code development by pulling GitHub issues, fixing them in a sandboxed environment, running tests, opening PRs, and promoting to production upon human approval.3AGPL 3.0