Przejdź do głównej zawartości

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.

  • 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

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.

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"]
}
}
}

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"
}
}
}
}

Tworząc tokeny dostępu personalnego, stosuj zasadę najmniejszych uprawnień:

ZakresGitHubGitLabPrzypadek użycia
Czytanie kodurepo (read)read_repositoryWyszukiwanie kodu, czytanie plików
Czytanie PR/MRrepo (read)read_apiPrzegląd PR, analiza diffów
Zapis PR/MRrepo (write)apiTworzenie PR, aktualizacja ticketów
Status CIrepo (read)read_apiMonitorowanie 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.

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.