Integracja GitHub i GitLab przez MCP
Twoje AI właśnie napisało funkcję pomocniczą, która już istnieje w Twoim codebase — ukrytą trzy katalogi głęboko w pliku, o którym nikt nie pamięta. Utworzyło branch z nazwą naruszającą konwencję Twojego zespołu. Napisało wiadomość commita “fix stuff.” Wszystkie te problemy znikają, gdy AI może faktycznie czytać Twoją historię git i wchodzić w interakcje z platformą kontroli wersji.
Czego się nauczysz
Dział zatytułowany „Czego się nauczysz”- Konfiguracja GitHub MCP (oficjalny) i GitLab MCP dla wszystkich trzech narzędzi
- Prompty do wyszukiwania kodu, przeglądu PR, zarządzania branchami i workflow commitów
- Wytyczne bezpieczeństwa dotyczące scopingu tokenów dostępu personalnego
- Strategie używania MCP kontroli wersji w środowiskach monorepo
Serwer GitHub MCP (oficjalny)
Dział zatytułowany „Serwer GitHub MCP (oficjalny)”Oficjalny serwer MCP GitHub zapewnia głęboką integrację z GitHub API: wyszukiwanie kodu, zarządzanie PR, śledzenie ticketów, status CI i operacje na repozytoriach. Aktualny serwer znajduje się pod adresem github/github-mcp-server i najłatwiej użyć go jako hostowanego endpointu z autentykacją OAuth https://api.githubcopilot.com/mcp/.
{ "mcpServers": { "github": { "url": "https://api.githubcopilot.com/mcp/" } }}Cursor poprowadzi Cię przez logowanie OAuth przy pierwszym połączeniu. Aby zamiast tego uruchomić lokalny binary, ustaw "command": "github-mcp-server" z GITHUB_PERSONAL_ACCESS_TOKEN w env.
claude mcp add --transport http github https://api.githubcopilot.com/mcp/Claude Code otwiera proces OAuth GitHub przy pierwszym użyciu. Wolisz instalację lokalną? Użyj obrazu Docker lub binary Go z github/github-mcp-server i przekaż GITHUB_PERSONAL_ACCESS_TOKEN.
[mcp_servers.github]url = "https://api.githubcopilot.com/mcp/"Codex odczytuje serwery HTTP z klucza url. Dla lokalnego binary z autentykacją tokenem użyj zamiast tego command/args z blokiem [mcp_servers.github.env].
Serwer Git MCP (lokalne repozytoria)
Dział zatytułowany „Serwer Git MCP (lokalne repozytoria)”Serwer Git MCP działa z Twoim lokalnym repozytorium. Daje AI ustrukturyzowany dostęp do branchów, commitów, diffów i logów bez kruchego parsowania shell.
{ "mcpServers": { "git": { "command": "uvx", "args": ["mcp-server-git"] } }}Claude Code ma wbudowane możliwości git przez natywne narzędzie Bash. Może uruchamiać komendy git bezpośrednio. Oddzielny Git MCP jest przydatny, jeśli chcesz ustrukturyzowanych odpowiedzi zamiast surowego wyjścia komend.
[mcp_servers.git]command = "uvx"args = ["mcp-server-git"]GitLab MCP
Dział zatytułowany „GitLab MCP”Dla zespołów na GitLab serwer GitLab MCP zapewnia integrację z pipeline’ami CI/CD, merge requestami i śledzeniem ticketów.
{ "mcpServers": { "gitlab": { "command": "npx", "args": ["-y", "@zereight/mcp-gitlab"], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<your-token>", "GITLAB_API_URL": "https://gitlab.com/api/v4" } } }}{ "mcpServers": { "gitlab": { "command": "npx", "args": ["-y", "@zereight/mcp-gitlab"], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<your-token>", "GITLAB_API_URL": "https://gitlab.com/api/v4" } } }}[mcp_servers.gitlab]command = "npx"args = ["-y", "@zereight/mcp-gitlab"]
[mcp_servers.gitlab.env]GITLAB_PERSONAL_ACCESS_TOKEN = "<your-token>"GITLAB_API_URL = "https://gitlab.com/api/v4"Scoping tokenów dla bezpieczeństwa
Dział zatytułowany „Scoping tokenów dla bezpieczeństwa”Tworząc tokeny dostępu personalnego, stosuj zasadę najmniejszych uprawnień:
| Zakres | GitHub | GitLab | Przypadek użycia |
|---|---|---|---|
| Czytanie kodu | repo (read) | read_repository | Wyszukiwanie kodu, czytanie plików |
| Czytanie PR/MR | repo (read) | read_api | Przegląd PR, analiza diffów |
| Zapis PR/MR | repo (write) | api | Tworzenie PR, aktualizacja ticketów |
| Status CI | repo (read) | read_api | Monitorowanie pipeline’ów |
Zacznij od zakresów read-only. Dodawaj dostęp do zapisu tylko wtedy, gdy AI musi tworzyć branche, PR-y lub aktualizować tickety.
Gdy coś się zepsuje
Dział zatytułowany „Gdy coś się zepsuje”Błąd “Bad credentials”. Wygeneruj ponownie token z poprawnymi zakresami. Fine-grained tokens na GitHubie wymagają jawnego dostępu do repozytorium — upewnij się, że wybrałeś właściwe repozytoria.
Wyszukiwanie kodu nie zwraca wyników. Wyszukiwanie kodu GitHub wymaga zindeksowania repozytorium. Nowe repozytoria lub niedawno wypchnięte branche mogą potrzebować kilku minut, aby pojawić się w wynikach wyszukiwania.
Rate limiting. REST API GitHub pozwala na 5000 zapytań/godzinę dla użytkowników uwierzytelnionych tokenem (instalacje GitHub App mają wyższe limity). Jeśli AI wykonuje zbyt wiele wywołań, zobaczysz błędy 403. Zmniejsz zakres promptów lub użyj lokalnego Git MCP dla operacji, które nie wymagają GitHub API.