Do tej pory Copilot CLI widział tylko to co mu wprost pokazałeś: pliki przez @, historię rozmowy i swoją wiedzę treningową. Jeśli zapytałeś "Co jest w issue #42?", odpowiadał: "Nie mam dostępu do GitHuba, wklej mi treść issue."
MCP (Model Context Protocol) zmienia tę dynamikę fundamentalnie. To protokół który pozwala Copilotowi samodzielnie sięgać po dane na zewnątrz – do repozytorium GitHub, systemu plików, baz danych, dokumentacji bibliotek. Zamiast "daj mi plik", Copilot może powiedzieć "poczekaj, sam sprawdzę".
Czym jest MCP i jak działa
Model Context Protocol to otwarty standard (stworzony przez Anthropic, szybko zaadoptowany przez cały ekosystem AI) definiujący jak modele AI komunikują się z zewnętrznymi narzędziami i źródłami danych. Każde takie zewnętrzne połączenie to MCP Server.
Analogia: pomyśl o rozszerzeniach przeglądarki. Przeglądarka sama w sobie wyświetla strony – rozszerzenia łączą ją z zewnętrznymi serwisami: menedżerem haseł, narzędziami do sprawdzania gramatyki, synchronizacją zakładek. MCP Servers robią to samo dla Copilota.
🌟 Bez MCP vs z MCP – ta sama prośba, dwa światy
Bez MCP:
> Co jest w issue #15 tego repozytorium?
Nie mam dostępu do GitHuba. Wklej mi treść issue.
Z MCP (GitHub server wbudowany):
> Co jest w issue #15 tego repozytorium?
Issue #15: Brak walidacji w metodzie MarkDone
Status: Open | Labels: bug, priority-high
Opis: Gdy podaję numer 0 lub ujemny, aplikacja rzuca
wyjątek bez sensownego komunikatu błędu...
Zero copy-paste. Zero przełączania kontekstu. Copilot sam sięga po dane.
Sprawdź które MCP Servers masz aktualnie aktywne:
copilot
> /mcp show
MCP Servers:
✓ github (enabled) – GitHub integration
✓ filesystem (enabled) – File system access
Serwer GitHub jest wbudowany i domyślnie aktywny – nie wymaga żadnej konfiguracji. Wystarczy że jesteś zalogowany przez /login.
Dostępne MCP Servers – przegląd
Serwer
Co daje Copilotowi
Konfiguracja
GitHub
Dostęp do repozytoriów, issues, PR, commitów, wyszukiwania kodu
Wbudowany – tylko /login
Filesystem
Eksploracja plików projektu, wyszukiwanie wzorców, analiza struktury
mcp-config.json
Context7
Aktualna dokumentacja bibliotek (nie dane treningowe – żywe docs)
mcp-config.json
Microsoft Learn
Oficjalna dokumentacja .NET, Azure, Microsoft 365
/plugin install microsoftdocs/mcp
Custom
Własne API, bazy danych, wewnętrzne narzędzia
Własna implementacja
Konfiguracja pliku mcp-config.json
MCP Servers konfiguruje się w pliku JSON. Dwie lokalizacje:
~/.copilot/mcp-config.json – globalnie dla wszystkich projektów
.vscode/mcp.json – tylko dla bieżącego projektu (wersjonowane w repozytorium)
Nie musisz i nie powinieneś dodawać serwera GitHub do mcp-config.json – jest wbudowany i działa automatycznie po /login. Próba ręcznego dodania może spowodować konflikty.
Microsoft Learn MCP – szczególnie wartościowy dla .NET developera
Ten serwer daje Copilotowi dostęp do oficjalnej dokumentacji .NET, Azure i całego ekosystemu Microsoft w czasie rzeczywistym – nie dane treningowe sprzed roku, ale żywa dokumentacja. Instalacja przez plugin:
copilot
> /plugin install microsoftdocs/mcp
Po instalacji możesz zadawać pytania o dokumentację bezpośrednio:
> Jak skonfigurować Dependency Injection w .NET 8 Console App?
Przeszukaj Microsoft Learn.
> Jakie są nowe features w C# 12? Pobierz z oficjalnej dokumentacji.
> Jak działa IAsyncEnumerable w ASP.NET Core? Pokaż przykłady z docs.
🔍 Dlaczego Microsoft Learn MCP jest ważniejszy niż Context7 dla .NET developera?
Context7 pokrywa wiele popularnych bibliotek open source. Microsoft Learn MCP daje dostęp do oficjalnej dokumentacji .NET, Azure, Blazor, EF Core, ASP.NET Core – z przykładami kodu i migration guides których często brakuje w wiedzy treningowej modeli. Szczególnie przydatne przy migracjach między wersjami .NET lub pracy z nowo wydanymi featury C#.
Serwer GitHub – co potrafi w praktyce
GitHub MCP Server to jeden z najpotężniejszych serwerów – daje Copilotowi pełny dostęp do Twojego repozytorium. Przykłady z projektem TaskList:
Eksploracja historii i struktury repozytorium
copilot
# Ostatnie commity
> Wylistuj 5 ostatnich commitów w tym repozytorium
# Branche
> Jakie branche istnieją w tym repozytorium?
# Szukanie wzorców w kodzie
> Wyszukaj wszystkie pliki .cs które zawierają "ArgumentException"
# Historia konkretnego pliku
> Kiedy TaskService.cs był ostatnio modyfikowany i co się zmieniło?
Issues i Pull Requesty
# Czytanie issues
> Wylistuj wszystkie otwarte issues w tym repozytorium
> Jaka jest treść issue #3?
# Workflow issue → implementacja → PR
> Pobierz szczegóły issue #3
> @TaskService.cs Zaimplementuj fix opisany w issue #3
> Uruchom testy dotnet żeby sprawdzić czy fix działa
> Stwórz pull request z tytułem "Fix: [tytuł issue #3]"
🌟 Workflow issue-to-PR: zero copy-paste
To jest scenariusz który pokazuje prawdziwą wartość MCP w codziennej pracy. Cały flow bez opuszczania terminala:
Zero przełączania między terminalem, przeglądarką i edytorem.
Serwer Filesystem – eksploracja projektu
Filesystem MCP daje Copilotowi możliwość samodzielnego przeglądania struktury projektu zamiast czekania aż mu pokażesz konkretne pliki przez @.
copilot
# Struktura projektu
> Ile plików .cs ma ten projekt? Wylistuj je z rozmiarami.
# Szukanie wzorców
> Znajdź wszystkie miejsca gdzie TaskItem jest tworzony bez inicjalizacji Done
# Analiza bez jawnego wskazywania plików
> Które metody w projekcie nie mają XML documentation?
# Rozmiar i złożoność
> Znajdź metody dłuższe niż 25 linii w plikach .cs
🔍 Filesystem MCP vs składnia @ – kiedy co?
Składnia @ – gdy wiesz dokładnie który plik chcesz pokazać Copilotowi. Szybka, precyzyjna, nie zużywa dodatkowych zasobów.
Filesystem MCP – gdy chcesz żeby Copilot sam zbadał projekt: znajdź pliki pasujące do wzorca, policz linie kodu, odkryj zależności. Szczególnie przydatny przy onboardingu do nieznanego projektu.
W praktyce używasz obu: filesystem MCP do eksploracji, @ do precyzyjnego przekazania zawartości.
Context7 i Microsoft Learn – aktualna dokumentacja
Dane treningowe modeli AI mają datę graniczną. Biblioteki i frameworki ewoluują szybciej niż modele są trenowane. Context7 i Microsoft Learn MCP rozwiązują ten problem dawając Copilotowi dostęp do żywej dokumentacji.
copilot
# Context7 – ogólne biblioteki
> Jakie są best practices dla System.Text.Json w .NET 8?
> Jak używać IMemoryCache w ASP.NET Core z przykładami?
# Microsoft Learn – oficjalna dokumentacja Microsoft
> Jak skonfigurować Minimal API w .NET 8?
Przeszukaj Microsoft Learn.
> Jakie breaking changes są między .NET 7 a .NET 8?
Pobierz z docs.microsoft.com.
> Jak działa Source Generator w C#? Pokaż przykłady z dokumentacji.
🔍 Praktyczny scenariusz: migracja projektu .NET
Wyobraź sobie że migrujesz projekt z .NET 6 na .NET 8. Bez MCP Copilot podaje rady na podstawie danych treningowych sprzed roku – może nie znać najnowszych zmian. Z Microsoft Learn MCP:
copilot
> Migruję projekt z .NET 6 na .NET 8. Jakie są breaking changes
które mogą mnie dotknąć? Przeszukaj Microsoft Learn migration guide.
> @TaskList.csproj Czy w tym projekcie są jakieś pakiety lub wzorce
które wymagają aktualizacji przy przejściu na .NET 8?
Copilot odpowie na podstawie aktualnej dokumentacji migracyjnej, nie starzejącej się wiedzy treningowej.
Multi-server workflow – wszystko razem
Prawdziwa moc MCP ujawnia się gdy kilka serwerów współpracuje w jednej sesji. Przykład: kompleksowy health check projektu TaskList.
copilot
# Krok 1: Filesystem MCP – analiza struktury
> Wylistuj wszystkie pliki .cs i .json w projekcie TaskList
z krótkim opisem każdego
# Krok 2: Filesystem MCP – analiza jakości
> Które metody publiczne w plikach .cs nie mają XML documentation?
# Krok 3: GitHub MCP – historia zmian
> Kiedy TaskService.cs był ostatnio modyfikowany?
Pokaż ostatnie 3 commity dotykające tego pliku.
# Krok 4: GitHub MCP – otwarte kwestie
> Czy są jakieś otwarte issues lub TODO w repozytorium?
# Krok 5: Synteza
> Na podstawie powyższej analizy: jakie są 3 najważniejsze
rzeczy do poprawienia w projekcie przed pierwszym publicznym releasem?
To co manualnie zajęłoby 15+ minut (grep, git log, przeglądanie issues w przeglądarce, liczenie TODO) – Copilot zbiera w jednej sesji w kilkanaście sekund.
🌟 Workflow: od nowego projektu do pierwszego PR
Przejmujesz nowy projekt .NET którego nie znasz. Kompletny onboarding z MCP:
copilot
# Eksploracja przez Filesystem MCP
> Opisz strukturę tego projektu .NET. Jakie warstwy, jakie zależności?
# Historia przez GitHub MCP
> Kto był głównym kontrybutorem i na czym skupiał się ostatnio?
# Otwarte zadania przez GitHub MCP
> Wylistuj otwarte issues posortowane według priorytetu
# Dokumentacja przez Microsoft Learn MCP
> Ten projekt używa Minimal API. Jakie są best practices
dla walidacji requestów? Pobierz z Microsoft Learn.
# Implementacja pierwszego zadania
> Pobierz szczegóły issue #1 i zaimplementuj fix
# PR
> /pr create
Onboarding + implementacja + PR w jednej sesji.
Zarządzanie serwerami MCP
Komendy /mcp
Komenda
Co robi
/mcp show
Wyświetla wszystkie skonfigurowane serwery i ich status
/mcp add
Interaktywne dodanie nowego serwera
/mcp edit <nazwa>
Edycja konfiguracji istniejącego serwera
/mcp enable <nazwa>
Włącza wyłączony serwer
/mcp disable <nazwa>
Tymczasowo wyłącza serwer bez usuwania konfiguracji
/mcp delete <nazwa>
Usuwa serwer z konfiguracji
Typowe problemy i rozwiązania
Problem
Rozwiązanie
GitHub MCP nie zwraca danych repozytorium
Uruchom /login żeby odświeżyć autentykację; sprawdź git remote -v czy remote istnieje
Sprawdź jsonlint.com; częsty błąd: trailing comma po ostatnim elemencie
Serwer nie pojawia się po edycji config
Zrestartuj Copilot CLI; zmiany w mcp-config.json wymagają restartu sesji
Ćwiczenie – MCP w akcji na projekcie TaskList
💪 Ćwiczenie: health check projektu z trzema serwerami
Krok 1: Skonfiguruj serwery
# Stwórz ~/.copilot/mcp-config.json z filesystem i context7
# (użyj konfiguracji z artykułu wyżej)
copilot
> /mcp show
# Zweryfikuj że widzisz: github ✓, filesystem ✓, context7 ✓
Krok 2: Eksploracja przez Filesystem MCP
> Ile plików .cs ma projekt TaskList?
> Które metody publiczne nie mają XML documentation?
> Znajdź wszystkie miejsca gdzie używamy string zamiast string?
Krok 3: Historia przez GitHub MCP
> Wylistuj 5 ostatnich commitów
> Czy są otwarte issues lub PR?
Krok 4: Dokumentacja przez Context7 lub Microsoft Learn
> Jakie są best practices dla System.Text.Json przy
serializacji do pliku? Pokaż przykłady.
# Jeśli masz Microsoft Learn MCP:
> Jak poprawnie implementować IDisposable w C# 12?
Przeszukaj Microsoft Learn.
Krok 5: Synteza
> Na podstawie powyższej analizy: jakie są 3 najważniejsze
usprawnienia dla projektu TaskList?
Weryfikacja: Po każdym kroku zapytaj: > Którego MCP serwera użyłeś dla tej odpowiedzi?
Podsumowanie
MCP to ostatni element układanki który sprawia że Copilot CLI staje się prawdziwym partnerem w pracy – nie tylko asystentem od kodu, ale narzędziem które widzi cały kontekst Twojej pracy: repozytorium, historię, issues, dokumentację.
GitHub MCP – wbudowany, bez konfiguracji; dostęp do issues, PR, commitów, wyszukiwania kodu
Filesystem MCP – samodzielna eksploracja projektu; przydatny przy onboardingu i analizach strukturalnych
Microsoft Learn MCP – oficjalna dokumentacja .NET i Azure w czasie rzeczywistym; szczególnie cenny przy migracjach i nowych featurach C#
Multi-server workflow – GitHub + Filesystem + dokumentacja w jednej sesji; to co zajmowało 15 minut manualnie trwa 30 sekund
Konfiguracja – ~/.copilot/mcp-config.json globalnie; .vscode/mcp.json per projekt; GitHub nie wymaga wpisów
W ostatnim artykule serii połączymy wszystko razem: agenci + Skills + MCP w kompletnym workflow od issue do mergniętego PR – na naszym projekcie TaskList.