MCP - Model Context Protocol: jak podłączyć AI do baz danych, przeglądarki i dowolnego narzędzia
Problem: AI nie widzi Twoich danych
Wyobraź sobie sytuację: prosisz Copilota o napisanie query do MongoDB, ale on nie zna struktury Twoich kolekcji. Albo chcesz, żeby agent przetestował UI, ale nie ma dostępu do przeglądarki. Albo potrzebujesz wygenerować kod na podstawie schematu bazy - ale model widzi tylko pliki w edytorze.
Tu wchodzi MCP - Model Context Protocol.
Czym jest MCP?
MCP to otwarty protokół stworzony przez Anthropic, który standaryzuje sposób, w jaki aplikacje AI (hosty) komunikują się z zewnętrznymi źródłami danych i narzędziami. Pomyśl o nim jak o USB dla AI - jeden standard, wiele urządzeń.
Zamiast budować dedykowaną integrację dla każdego narzędzia, MCP definiuje wspólny interfejs. Dzięki temu:
- Każde narzędzie AI (Copilot, Claude, Cursor) może korzystać z tych samych serwerów MCP
- Twórcy narzędzi piszą serwer raz - działa wszędzie
- Ty konfigurujesz raz - masz dostęp do danych w każdym kliencie
Architektura MCP
MCP opiera się na trzech warstwach:
┌──────────────────────────────────┐│ HOST ││ (VS Code, Claude Desktop, IDE) ││ ││ ┌────────────────────────────┐ ││ │ CLIENT │ ││ │ (wbudowany w hosta) │ ││ │ │ ││ │ Utrzymuje połączenie 1:1 │ ││ │ z każdym serwerem │ ││ └──────┬──────┬──────┬───────┘ │└─────────┼──────┼──────┼──────────┘ │ │ │ ┌─────▼──┐ ┌─▼────┐ ┌▼───────┐ │Server A│ │Serv B│ │Server C│ │MongoDB │ │Playw.│ │FilesSys│ └────────┘ └──────┘ └────────┘Host
Aplikacja, w której pracujesz - VS Code z Copilotem, Claude Desktop, Cursor. Host uruchamia klienty MCP.
Client
Komponent wbudowany w hosta, który zarządza połączeniami z serwerami. Każdy client utrzymuje sesję 1:1 z jednym serwerem.
Server
Lekki program, który eksponuje dane lub narzędzia przez protokół MCP. Może udostępniać:
- Resources - dane do odczytu (schemat bazy, dokumenty, pliki)
- Tools - akcje do wykonania (query do bazy, klik w przeglądarce, wywołanie API)
- Prompts - szablony promptów specyficzne dla narzędzia
Jak skonfigurować MCP w VS Code
Krok 1: Utwórz plik konfiguracyjny
Stwórz plik .vscode/mcp.json w swoim projekcie:
{ "servers": { "mongodb": { "command": "npx", "args": ["-y", "mongodb-mcp-server"], "env": { "MONGODB_URI": "mongodb://localhost:27017/mydb" } } }}Krok 2: Uruchom serwer
VS Code automatycznie wykryje konfigurację i uruchomi serwer MCP. Zobaczysz status w pasku narzędzi Copilot Chat.
Krok 3: Korzystaj z narzędzi
Teraz w Copilot Chat możesz pisać:
Pokaż mi strukturę kolekcji "orders" w MongoDBCopilot użyje narzędzi MCP, aby połączyć się z bazą, odczytać schemat i odpowiedzieć na podstawie prawdziwych danych.
Przykład 1: MongoDB MCP Server
Co daje?
- Odczyt struktury kolekcji i indeksów
- Wykonywanie zapytań find/aggregate
- Analiza schematu dokumentów
- Sugestie optymalizacji query
Konfiguracja
{ "servers": { "mongodb": { "command": "npx", "args": ["-y", "mongodb-mcp-server"], "env": { "MONGODB_URI": "mongodb://localhost:27017/ecommerce" } } }}Użycie w praktyce
User: Jakie indeksy powinienem dodać do kolekcji "products"? Mam zapytania po: name, category, price range, createdAt
Copilot: [Odpytuje MongoDB MCP o istniejące indeksy i strukturę kolekcji]
Na podstawie schematu kolekcji "products" i Twoich wzorców zapytań:
1. Compound index: { category: 1, price: 1 } - dla filtrowania po kategorii z zakresem cen2. Text index: { name: "text" } - dla wyszukiwania po nazwie3. Index: { createdAt: -1 } - dla sortowania po dacie
Istniejący index { _id: 1 } jest domyślny.Model nie zgaduje - widzi prawdziwe dane i na ich podstawie daje rekomendacje.
Przykład 2: Playwright MCP Server
Co daje?
- Nawigacja po stronach web
- Robienie screenshotów
- Klikanie elementów, wypełnianie formularzy
- Testowanie UI i accessibility
- Pobieranie zawartości stron
Konfiguracja
{ "servers": { "playwright": { "command": "npx", "args": ["-y", "@anthropic/playwright-mcp-server"] } }}Użycie w praktyce
User: Otwórz stronę localhost:3000/login, wypełnij formularz logowania (admin@test.com / haslo123) i zrób screenshot dashboardu.
Copilot: [Używa Playwright MCP]
1. Nawiguję do localhost:3000/login2. Wypełniam pole email: admin@test.com3. Wypełniam pole password: ****4. Klikam przycisk "Zaloguj"5. Czekam na załadowanie dashboardu6. Robię screenshot
[screenshot dashboardu]
Widzę, że dashboard zawiera 3 widgety. Sidebar ma 5 pozycji menu...Agent AI, który widzi i klika w Twojej aplikacji. Idealne do:
- Testowania E2E sterowanego promptem
- Weryfikacji wizualnej po zmianach
- Zbierania danych ze stron (scraping)
Inne popularne serwery MCP
| Serwer | Co daje | Użycie |
|---|---|---|
| Filesystem MCP | Odczyt/zapis plików poza workspace | Operacje na plikach systemowych |
| PostgreSQL MCP | Query, schemat, migracje | Praca z relacyjną bazą danych |
| GitHub MCP | Issues, PRs, repo metadata | Zarządzanie projektem z poziomu AI |
| Slack MCP | Odczyt/wysyłka wiadomości | Integracja z komunikacją zespołu |
| Memory MCP | Trwała pamięć między sesjami | Agent zapamiętuje decyzje i kontekst |
Pełną listę serwerów znajdziesz w MCP Server Registry.
Bezpieczeństwo MCP
MCP to potężne narzędzie, ale wymaga świadomego podejścia do bezpieczeństwa:
Zasada minimalnych uprawnień
Dawaj serwerom MCP tylko te uprawnienia, których potrzebują:
{ "servers": { "mongodb-readonly": { "command": "npx", "args": ["-y", "mongodb-mcp-server", "--read-only"], "env": { "MONGODB_URI": "mongodb://readonly-user:pass@host/db" } } }}Nie eksponuj produkcyjnych danych
Używaj MCP z lokalnymi lub developerskimi bazami. Nigdy nie podłączaj serwera MCP bezpośrednio do produkcji bez odpowiednich zabezpieczeń.
Weryfikuj akcje
Copilot zawsze pyta o potwierdzenie przed wykonaniem destrukcyjnych akcji (zapis, usunięcie). Nie wyłączaj tych zabezpieczeń.
Jak zacząć?
- Wybierz jeden serwer MCP odpowiadający Twojemu workflow (np. MongoDB jeśli pracujesz z Mongo)
- Dodaj konfigurację do
.vscode/mcp.json - Przetestuj prostym zapytaniem w Copilot Chat
- Dodawaj kolejne serwery w miarę potrzeb
Nie próbuj konfigurować 10 serwerów naraz. Zacznij od jednego, zrozum jak działa, potem rozszerzaj.
Podsumowanie
MCP to brakujący element układanki AI-assisted development. Prompty mówią modelowi co robić. Instrukcje mówią jak. MCP daje modelowi dostęp do danych i narzędzi, których potrzebuje, by naprawdę rozumieć Twój projekt.
To przeskok od „AI generuje kod na podstawie wzorców” do „AI rozumie mój konkretny system i działa w jego kontekście”.
Powiązane artykuły:
- Czym są prompty? - podstawy komunikacji z AI
- Instrukcje GitHub Copilot - trwałe reguły na poziomie projektu
Chcesz opanować GitHub Copilot od podstaw?
Kurs GitHub Copilot - 5 poziomów, 15 modułów, od instalacji do własnych agentów. Pisany przez człowieka, weryfikowany z oficjalną dokumentacją VS Code.