Подключаем Claude Desktop к локальным проектам и GitHub через MCP
Настраиваем в Claude Desktop MCP-сервер файловой системы и коннектор GitHub, чтобы он сам правил локальные Java-тесты, делал коммиты, пушил и открывал pull request'ы.
Гонять код туда-сюда между IDE и окном чата быстро надоедает. Куда удобнее ассистент, который может открыть папку проекта у вас на компьютере, прямо там поправить или добавить тестовые классы на Java, а потом закоммитить, запушить и открыть pull request. Это ничего не стоит, а работает всё благодаря MCP, Model Context Protocol. Если наткнуться на типичные грабли, запуск займёт несколько попыток, поэтому ошибки перечислены ниже рядом с шагами.
Цикл копирования, от которого вы хотите избавиться
Возьмём QA-инженера, который целый день пишет скрипты на Selenium. Рутина выглядит так: скопировать класс из VS Code, Eclipse или IntelliJ, вставить в чат, прочитать предложение, снова скопировать, вставить обратно в IDE. Потом переключиться на GitHub и загрузить или запушить результат вручную. Каждый шаг ручной, и ни один из них не требует человека.
А хочется написать "запушь этот файл на GitHub" — и чтобы это просто произошло.
Что делает MCP
MCP — открытый стандарт от Anthropic. Он определяет, как ассистент вроде Claude контролируемо общается с внешними инструментами, приложениями и источниками данных. Без него Claude видит только то, что вы набираете в чате, словно человек, запертый в комнате с щелью в двери. MCP прорезает в этой комнате настоящую дверь, и для нашей настройки важны два вида дверей:
- MCP-сервер файловой системы, который позволяет Claude читать файлы на вашем компьютере.
- Коннектор, который позволяет Claude пользоваться внешними сервисами, такими как GitHub, Gmail или Jira.
Когда есть и то и другое, чат перестаёт быть просто полем для текста и начинает действовать. Цепочка идёт от вашей IDE через сервер файловой системы:
VSCode / Eclipse / IntelliJ
│
▼
Filesystem MCP Server
│
▼
Claude Desktop
│
▼
GitHub MCP Server
│
▼
GitHub Repository
Что понадобится
- Claude Desktop, отдельное приложение. claude.ai во вкладке браузера для этого не подойдёт, всё работает только в десктопном приложении.
- Аккаунт GitHub (бесплатный).
- Node.js, бесплатная среда выполнения, без которой некоторые инструменты не запустятся.
- Абсолютный путь к корневой папке вашего проекта, какой бы IDE вы ни пользовались.
Всё это бесплатно, и бесплатного тарифа Claude достаточно.
Шаг 1: дайте Claude доступ к папке проекта
Эта часть позволяет Claude напрямую читать и записывать файлы, скажем, рабочего пространства Eclipse.
- Установите Node.js с nodejs.org. Просто прощёлкайте установщик, настраивать ничего не нужно.
- В Claude Desktop откройте Settings, затем Developer, затем Edit Config. Откроется небольшой файл настроек.
- Вставьте фрагмент ниже и замените папку из примера на путь к своему проекту. В Windows удвойте каждый обратный слэш в пути.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\YourName\\eclipse-workspace\\YourProjectName"
]
}
}
}
- Сохраните, затем полностью закройте Claude Desktop и запустите заново. Сворачивание окна ничего не перезагружает, приложение действительно должно завершиться.
- Найдите рядом с полем ввода маленький значок молотка или инструментов. Если он есть, сервер файловой системы загрузился.
Шаг 2: подключите GitHub
Именно здесь почти всё и ломается, так что не торопитесь.
Зарегистрируйте своё приложение на GitHub
GitHub не пускает произвольную программу. Сначала вы создаёте собственную небольшую запись приложения, и GitHub выдаёт два секрета, которые нужны Claude.
- Перейдите на github.com/settings/applications/new.
- Введите Claude в качестве имени приложения, https://claude.ai как URL домашней страницы и тот же https://claude.ai как callback URL для авторизации. Этот callback пока просто заглушка.
- Нажмите Register application.
- Скопируйте появившийся Client ID.
- Нажмите Generate a new client secret и сразу скопируйте его. GitHub показывает его ровно один раз.
Добавьте коннектор в Claude
- В Claude Desktop перейдите в Settings, затем Connectors, нажмите плюс и выберите Add custom connector.
- Назовите его GitHub и укажите URL https://api.githubcopilot.com/mcp/.
- Откройте Advanced settings и вставьте Client ID и Client Secret.
- Нажмите Add, затем Connect у появившейся записи GitHub.
- GitHub спросит, разрешить ли доступ. Нажмите Authorize.
Оба сервера в одном чате
Когда и сервер файловой системы, и GitHub отображаются как подключённые, в одном разговоре можно пользоваться ими вместе. Сервер файловой системы открывает доступ к локальному рабочему пространству, а сервер GitHub — к вашим репозиториям. Claude берёт файл с вашего диска и пушит его на GitHub, без вставок и без терминала.
На практике это закрывает весь цикл:
- Просмотр содержимого проекта
- Изменение существующих Java-файлов
- Написание новых тестовых скриптов
- Коммит с сообщением
- Пуш в удалённый репозиторий
- Открытие pull request'ов
Ошибки, которых можно избежать
- Пустой callback URL. GitHub требует его заполнить, так что регистрация будет срываться, пока вы этого не сделаете.
- Нажатие Add до того, как появился client secret. Если учётных данных не хватает, Claude лишь сообщает, что не смог зарегистрироваться в сервисе входа, а это ни о чём не говорит.
- Вход в два разных аккаунта Claude: один в браузере, другой в десктопном приложении. Это была худшая из трёх проблем, потому что ошибка "Account mismatch", которую она вызывает, не имеет никакого отношения к GitHub. Решение — выйти в браузере и снова войти под аккаунтом из десктопного приложения.
Промпты для копирования
Они работают в Claude Desktop, когда активны и сервер файловой системы, и сервер GitHub. Сначала полный запрос от индексации до пуша:
End-to-End Example
Stage all test classes under the com.myAutomation package, commit the changes with the commit message "updated", and push the latest commit to the master branch of the Autonation Project GitHub repository.
И git-процесс с веткой:
Git Workflow
Create a new branch named feature/login-automation, commit all modified files with the message "Added Login Automation Tests", and push the branch to the GitHub repository.
Быстрая проверка
Откройте Claude Desktop и пройдите эти шаги по порядку, каждый опирается на предыдущий.
- Локальный доступ: попросите открыть ваш проект автотестов и показать структуру.
- Изменение файлов: попросите тестовый класс для страницы входа в src/test/java.
- Git: попросите инициализировать репозиторий, создать ветку feature/login-test и сделать коммит.
- Пуш: попросите запушить эту ветку в репозиторий Automation Testing Project.
- Pull request: попросите открыть pull request в ветку develop.