Narzędzia dla deweloperów
GitHub MCP
Oficjalny serwer MCP od GitHuba — daje Claude dostęp do API GitHuba: repozytoria, pull requesty, issues, code search, Actions, Dependabot. Zamiast przełączać się między terminalem, przeglądarką i IDE, robisz wszystko z poziomu rozmowy z Claude.
| 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ć | Gdy chcesz zarządzać GitHubem bez opuszczania terminala — automatyzacja PR-ów, triaging issues, analiza build failures |
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. Jeśli używasz starszej konfiguracji NAT, zamień 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: zamiast odpowiedzi "w React 18 robiło się tak..." dostajesz kod działający z wersją, której faktycznie używasz.
| 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ć | Zawsze gdy pracujesz z bibliotekami/frameworkami. Lekki (2 narzędzia) i darmowy — prawie nie ma powodu, żeby go nie mieć |
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, który zmienia 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: brudnopis, w którym Claude notuje kolejne kroki, skreśla ślepe uliczki i wraca do wcześniejszych punktów — tak jak programista, który planuje migrację na kartce, zanim dotknie kodu.
| 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
Nie musisz jawnie prosić o użycie Sequential Thinking — 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 — wraca i aktualizuje | 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 — ale kluczowa różnica wobec zwykłej odpowiedzi: widzisz cały tok rozumowania, łącznie z momentem, w którym Claude zmienił zdanie (rewizja kroku 2). Efekt: plan jest bardziej przemyślany, a Ty widzisz dlaczego Claude podjął daną decyzję.
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 — ale dedykowany serwer MCP formalizuje to 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 zanim wykona operację, wymusza bezpieczne wartości domyślne i zwraca ustrukturyzowane dane zamiast raw textu. Claude nie musi parsować outputu git log --oneline --graph — dostaje 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 i robi to dobrze. Git MCP ma większy sens w Claude Desktop (który nie ma terminala) lub w środowiskach, gdzie chcesz ograniczyć dostęp Claude 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.