Narzędzia dla deweloperów
GitHub MCP
Oficjalny serwer MCP od GitHuba dający Claude dostęp do API GitHuba: repozytoria, pull requesty, issues, code search, Actions, Dependabot.
| Parametr | Opis |
|---|---|
| Kategoria | Zarządzanie repozytorium |
| Pakiet | ghcr.io/github/github-mcp-server (Docker) @modelcontextprotocol/server-github (npm) jest przestarzały od kwietnia 2025 |
| Klucz API | github.com/settings/tokens: Personal Access Token (classic lub fine-grained). Minimalny scope: repo, read:org |
| Cennik | Darmowy (GitHub API: 5 000 req/h z tokenem) |
| Co umie | Przeglądanie plików/commitów/branchy, tworzenie i review PR-ów, zarządzanie issues (etykiety, komentarze, przypisywanie), monitorowanie Actions, alerty Dependabot i code scanning |
| Kiedy wybrać | Automatyzacja PR-ów, triaging issues, analiza build failures bez przełączania kontekstu na przeglądarkę |
Serwer działa jako kontener Docker. Kontener uruchamiasz raz ręcznie, Claude łączy się z nim przez HTTP.
Alternatywnie Claude może sam zarządzać kontenerem w trybie stdio (uruchamia go przy starcie sesji i zatrzymuje po zakończeniu). Szczegóły w dokumentacji GitHub MCP.
docker run:
docker run -d --rm \
-p 8080:8080 \
-e GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... \
ghcr.io/github/github-mcp-server \
--transport streamable-http \
--port 8080 \
--toolsets repos,issues,pull_requests \
--read-only
docker-compose.yml:
services:
github-mcp:
image: ghcr.io/github/github-mcp-server
ports:
- "8080:8080"
environment:
GITHUB_PERSONAL_ACCESS_TOKEN: ${GITHUB_PERSONAL_ACCESS_TOKEN}
command: [
"--transport", "streamable-http", "--port", "8080",
"--toolsets", "repos,issues,pull_requests",
"--read-only"
]
restart: unless-stopped
| Flaga | Wartość | Opis |
|---|---|---|
--transport | streamable-http | Przełącza serwer z trybu stdio na HTTP. Bez tej flagi kontener czeka na dane ze stdin i nie słucha na porcie |
--port | 8080 | Port HTTP, na którym serwer nasłuchuje |
--toolsets | repos,issues,pull_requests | Ogranicza eksponowane narzędzia do wybranych grup. Domyślnie serwer eksponuje kilkadziesiąt narzędzi (kilkanaście tys. tokenów overhead). Wartości specjalne: all (wszystko), default (= context,copilot,repos,issues,pull_requests,users). Pełna lista w dokumentacji GitHub MCP |
--read-only | (brak wartości) | Blokuje wszystkie operacje zapisu. Claude może czytać i przeszukiwać GitHub, ale nie może tworzyć issues, komentarzy, PR-ów ani wprowadzać żadnych zmian |
| Toolset | Opis |
|---|---|
repos | Przeglądanie repozytoriów, plików, commitów, branchy, tagów, release'ów |
issues | Issues: tworzenie, komentowanie, etykiety, zamykanie, przypisywanie |
pull_requests | Pull requesty: tworzenie, review, merge, komentarze do kodu |
actions | GitHub Actions: uruchomienia workflow, logi, triggery, artefakty |
code_security | Code scanning: alerty bezpieczeństwa, SARIF, secret scanning |
dependabot | Alerty Dependabot, status zależności |
discussions | GitHub Discussions: wątki, komentarze, kategorie |
gists | GitHub Gists: tworzenie i przeglądanie |
git | Niskopoziomowe operacje Git API: blobs, trees, refs |
labels | Etykiety: tworzenie i zarządzanie |
notifications | Powiadomienia GitHub |
orgs | Organizacje: członkowie, zespoły, uprawnienia |
projects | GitHub Projects (v2): tablice, kolumny, karty |
users | Dane użytkowników i profili |
context | Kontekst sesji: dane zalogowanego użytkownika |
copilot | Copilot-specific tools (m.in. tworzenie PR z agentem Copilot) |
all | Wszystkie dostępne narzędzia |
default | context + repos + issues + pull_requests + users (aktywowane gdy --toolsets nie jest podane) |
Podłącz Claude (.mcp.json lub Claude Desktop)
{
"mcpServers": {
"github": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}
Dlaczego localhost działa z WSL? Nowoczesne WSL 2 z mirrored networking ([wsl2] networkingMode=mirrored w .wslconfig) wystawia porty WSL bezpośrednio na localhost Windows, bez żadnego proxy. Przy starszej konfiguracji NAT należy zamienić localhost na adres IP interfejsu WSL (hostname -I w WSL).
Przykład promptu (z MCP):
Sprawdź otwarte issues w repozytorium myorg/backend z labelem "bug".
Dla każdego issue przeczytaj opis i zaproponuj priorytet (P0-P3).
Dodaj komentarz z propozycją priorytetu do każdego issue.
Context7 MCP
Context7 rozwiązuje fundamentalny problem: dokumentacja bibliotek zmienia się szybciej niż wiedza modelu. Zamiast polegać na danych treningowych, Context7 pobiera aktualną, wersjonowaną dokumentację prosto ze źródła i wstrzykuje ją do kontekstu Claude.
W praktyce oznacza to kod działający z wersją biblioteki faktycznie używaną w projekcie, a nie oparty na przestarzałych danych treningowych.
| Parametr | Opis |
|---|---|
| Kategoria | Dokumentacja bibliotek |
| Klucz API | context7.com/dashboard (opcjonalny). Darmowe konto daje wyższe rate limity. Bez klucza działa z podstawowymi limitami |
| Cennik | Darmowy (1 000 req/miesiąc). Serwer MCP open-source (MIT); backend zamknięty |
| Co umie | resolve-library-id: zamienia nazwę biblioteki na ID w bazie Context7. query-docs: pobiera aktualną dokumentację z cytatami kodu dla danej biblioteki i tematu |
| Kiedy wybrać | Praca z bibliotekami i frameworkami. Lekki (2 narzędzia) i darmowy, uzasadniony przy niemal każdym projekcie |
Zanim zaczniesz instalację, sprawdź listę aktywnych serwerów MCP (/mcp w Claude Code). Context7 mógł już zostać dodany w konfiguracji globalnej lub projektowej.
Instalacja:
claude mcp add context7 -- npx -y @upstash/context7-mcp
{
"mcpServers": {
"context7": {
"command": "npx.cmd",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
Przykład promptu (z MCP):
pokaż mi jak skonfigurować middleware
w FastAPI 0.115+ z nowym API. Interesuje mnie konkretnie
CORS i rate limiting.
Sequential Thinking MCP
Sequential Thinking to serwer wpływający na sposób rozumowania Claude. Zamiast odpowiadać od razu, Claude rozbija problem na kroki i dokumentuje swój tok myślenia, z możliwością rewizji, rozgałęziania i korekty kursu w trakcie.
Nie jest to "zwykłe chain-of-thought". To narzędzie, które Claude aktywnie wywołuje w trakcie pracy, żeby zapisać i zweryfikować swoje rozumowanie. Najlepsza analogia to brudnopis: Claude notuje kolejne kroki, skreśla ślepe uliczki i wraca do wcześniejszych punktów, podobnie jak programista planujący migrację na kartce przed przystąpieniem do zmian w kodzie.
| Parametr | Opis |
|---|---|
| Kategoria | Rozumowanie |
| Klucz API | Brak (działa lokalnie) |
| Cennik | Darmowy (open-source; MIT) |
| Co umie | Rozbijanie złożonych problemów na sekwencję kroków, rewizja wcześniejszych kroków, rozgałęzianie (eksploracja alternatyw), dynamiczne dostosowywanie liczby kroków |
| Kiedy wybrać | Decyzje architektoniczne, refaktoryzacja dużych modułów, debugging skomplikowanych problemów, migracje między wersjami |
Instalacja:
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking
{
"mcpServers": {
"sequential-thinking": {
"command": "npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}
Przykład promptu:
Zaplanuj migrację naszej aplikacji z Express.js 4 na Express 5. Rozważ:
- Breaking changes w API
- Wpływ na middleware (custom i third-party)
- Strategię migracji (big bang vs. incremental)
- Plan testowania
Claude sam sięga po to narzędzie, gdy rozpozna złożony problem wymagający wielokrokowej analizy.
Przykładowy flow — co dzieje się po wysłaniu powyższego promptu:
| Krok | Nazwa | Co robi Claude | Wynik w brudnopisie |
|---|---|---|---|
| 1 | Breaking changes | Inwentaryzacja zmian w API Express 5 | path(), query(), res.render(): 12 zmian |
| 2 | Audyt middleware | Przegląd custom i third-party middleware | 3 custom, 2 third-party (body-parser, cors) |
| ↩ 2 | Rewizja | W trakcie kroku 3 odkrywa, że cors wymaga ≥2.9 i wraca do aktualizacji | Zależność cors ≥2.9 dodana do listy ryzyk |
| 3 | Strategia | Big bang vs. incremental? | Incremental (za dużo powiązań na big bang) |
| 4 | Plan testowania | Testy regresji + smoke testy po każdej fazie | 4-fazowy plan z checkpointami |
Claude zwraca gotowy plan migracji. Kluczowa różnica wobec zwykłej odpowiedzi: widoczny jest cały tok rozumowania, łącznie z momentem, w którym Claude zmienił zdanie (rewizja kroku 2), co pozwala ocenić podstawy podjętych decyzji.
Sequential Thinking nie jest zamiennikiem extended thinking (wbudowanego trybu rozumowania Claude). To komplementarne narzędzie: extended thinking działa wewnątrz modelu (niewidocznie), Sequential Thinking eksternalizuje rozumowanie do narzędzia MCP (widoczne kroki).
Git MCP Server
Git MCP daje Claude bezpośredni dostęp do operacji Git na lokalnym repozytorium: status, diff (staged/unstaged/między branchami), log z filtrami dat, commit, tworzenie branchy i checkout. Claude Code ma już wbudowane polecenie git przez Bash, jednak dedykowany serwer MCP formalizuje te operacje jako narzędzia z walidacją parametrów i bezpieczniejszymi wartościami domyślnymi.
| Parametr | Opis |
|---|---|
| Kategoria | Kontrola wersji |
| Pakiet | mcp-server-git (PyPI; oficjalny z repozytorium modelcontextprotocol/servers) |
| Klucz API | Brak (działa lokalnie) |
| Cennik | Darmowy (open-source) |
| Co umie | Status katalogu roboczego, diff (staged/unstaged/między branchami), log z filtrami dat, commit, tworzenie branchy i checkout. Kilkanaście narzędzi pokrywających najczęstsze operacje |
| Kiedy wybrać | Głównie Claude Desktop. W Claude Code wbudowany dostęp do git przez Bash jest wystarczający |
Kluczowa różnica wobec surowego git w Bashu: serwer MCP waliduje parametry przed wykonaniem operacji, wymusza bezpieczne wartości domyślne i zwraca ustrukturyzowane dane zamiast surowego tekstu. Zamiast parsowania outputu git log --oneline --graph, Claude otrzymuje gotowe obiekty z hashem, autorem, datą i wiadomością.
Instalacja (Claude Desktop):
{
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "C:\\ścieżka\\do\\repo"]
}
}
}
W Claude Code ten serwer jest często zbędny. Claude Code ma natywny dostęp do git przez Bash. Git MCP ma większy sens w Claude Desktop (który nie ma terminala) lub w środowiskach z ograniczonym dostępem do konkretnych operacji Git (np. tylko odczyt, bez push).
Przykład promptu (z MCP):
Pokaż mi log ostatnich 20 commitów na branchu main z filtrem
na pliki w katalogu src/api/. Dla każdego commita pokaż diff
i oceń czy zmiana jest bezpieczna do cherry-pickowania na branch release.