Co to jest MCP i jak podłączyć pierwszy serwer krok po kroku
Co to jest MCP (Model Context Protocol)? Wyjaśniam hosty, serwery i narzędzia, a potem podłączamy serwer MCP do Claude Code i aplikacji Claude. Krok po kroku.
Ten artykuł w innych językach:العربيةDeutschEnglishEspañolFrançaisItaliano日本語简体中文
W tym artykule
Co to jest MCP? MCP (Model Context Protocol) to otwarty standard, dzięki któremu aplikacja AI, np. Claude, ChatGPT albo Cursor, łączy się z zewnętrznymi systemami: plikami, bazami danych, kalendarzem, Notion czy GitHubem. Twórcy porównują go w oficjalnej dokumentacji do portu USB-C: jedna wtyczka, która pasuje do wielu urządzeń.
W tym poradniku wyjaśniam, jak MCP działa w środku, a potem podłączamy pierwszy serwer MCP w Claude Code (zdalny i lokalny) oraz w aplikacji Claude. Komendy pochodzą z dokumentacji Claude Code i repozytorium serwerów referencyjnych MCP.
Co to jest MCP w praktyce?
Model językowy sam z siebie nie widzi naszych plików ani kalendarza. Żeby agent AI mógł coś zrobić w świecie, potrzebuje narzędzi (o tym, czym jest sam agent, pisałem w poradniku Co to jest agent AI). Bez wspólnego standardu każda aplikacja musiałaby podłączać każde narzędzie po swojemu.
MCP to zmienia: ktoś raz pisze serwer MCP dla danej usługi, a potem korzysta z niego każda aplikacja, która obsługuje protokół. Dokumentacja podaje przykłady tego, co to daje:
- agent, który ma dostęp do naszego Kalendarza Google i Notion,
- Claude Code, który buduje całą aplikację webową na podstawie projektu z Figmy,
- firmowy chatbot podpięty do kilku baz danych naraz,
- model, który projektuje obiekt 3D w Blenderze i wysyła go do drukarki.
Skąd się wziął MCP?
MCP opublikował jako open source Anthropic 25 listopada 2024 roku. Rok później, 9 grudnia 2025, firma przekazała protokół do Agentic AI Foundation, funduszu działającego w ramach Linux Foundation, który współtworzą też OpenAI i Block. Dzięki temu MCP nie należy już do jednej firmy.
Dziś protokół obsługują m.in. Claude, ChatGPT, Visual Studio Code i Cursor, więc raz napisany serwer zadziała w wielu miejscach.
Jak działa MCP w środku?
Według opisu architektury w MCP są trzy role:
- Host, czyli aplikacja AI, z której korzystamy (np. Claude Code albo Claude Desktop),
- Klient, czyli komponent wewnątrz hosta. Host tworzy osobnego klienta dla każdego serwera,
- Serwer, czyli program, który dostarcza dane i narzędzia.
Serwer może działać lokalnie (na naszym komputerze, komunikacja przez standardowe wejście i wyjście, tzw. „stdio”) albo zdalnie (w internecie, przez tzw. „Streamable HTTP”). Wiadomości mają format JSON-RPC 2.0.
Serwer udostępnia trzy rodzaje rzeczy:
- narzędzia (tools), czyli funkcje, które model może wywołać, np. zapytanie do bazy albo zapis pliku,
- zasoby (resources), czyli dane do kontekstu, np. treść pliku albo schemat bazy,
- prompty, czyli gotowe szablony interakcji z modelem.
Działa to prosto: klient pyta serwer o listę narzędzi (tools/list), model wybiera jedno, a klient je wywołuje (tools/call) i oddaje wynik modelowi. Co ciekawe, w aktualnej wersji specyfikacji (2026-07-28) protokół jest bezstanowy, czyli każde zapytanie niesie wszystko, czego serwer potrzebuje, żeby je obsłużyć.
Krok 1: jak podłączyć zdalny serwer MCP do Claude Code?
Zakładam, że mamy już zainstalowany Claude Code (jeśli nie, zacznijmy od poradnika Claude Code). Zdalny serwer HTTP to według dokumentacji zalecana opcja. Podstawowa składnia wygląda tak:
claude mcp add --transport http <nazwa> <url>
Przykład z dokumentacji, czyli podłączenie Notion:
claude mcp add --transport http notion https://mcp.notion.com/mcp
Większość zdalnych serwerów wymaga logowania. Wtedy w sesji Claude Code wpisujemy /mcp i przechodzimy logowanie w przeglądarce. To samo polecenie pokazuje też status wszystkich podłączonych serwerów.
Jeśli serwer używa tokenu zamiast logowania, dodajemy nagłówek:
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
Krok 2: jak uruchomić lokalny serwer MCP?
Lokalny serwer działa na naszym komputerze jako zwykły proces. Dobry pierwszy przykład to referencyjny serwer plików, który daje modelowi dostęp tylko do wskazanych katalogów. Potrzebujemy Node.js (dla npx).
Komendę serwera wpisujemy po --, a wszystko po tym znaku trafia do serwera bez zmian:
claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/notatki
Ostatni argument to katalog, do którego serwer ma dostęp (możemy podać kilka). Serwer udostępnia m.in. narzędzia read_text_file, write_file, edit_file, list_directory i search_files. Teraz w Claude Code możemy poprosić np. „znajdź w notatkach wszystko o MCP i zrób z tego listę”.
Jeśli serwer potrzebuje klucza API, przekazujemy go przez --env. Przykład z dokumentacji:
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-server
Krok 3: jak zarządzać serwerami MCP?
Do zarządzania służą trzy proste komendy:
claude mcp list # lista serwerów
claude mcp get notion # szczegóły jednego serwera
claude mcp remove notion # usunięcie serwera
Ważny jest też zakres (scope), czyli to, gdzie serwer jest zapisany:
| Zakres | Gdzie działa | Czy trafia do zespołu | Gdzie jest zapisany |
|---|---|---|---|
local (domyślny) |
tylko bieżący projekt | nie | ~/.claude.json |
project |
tylko bieżący projekt | tak, przez repozytorium | .mcp.json w katalogu projektu |
user |
wszystkie nasze projekty | nie | ~/.claude.json |
Zakres wybieramy flagą --scope, np. --scope user. Przy zakresie project klucze API trzymajmy w zmiennych środowiskowych (${VAR} w pliku .mcp.json), żeby nie trafiły do repozytorium.
Krok 4: jak dodać serwer MCP w aplikacji Claude?
W aplikacji Claude (web i desktop) serwery MCP nazywają się konektorami. Gotowe znajdziemy w katalogu konektorów, a własny zdalny serwer dodamy jako tzw. „custom connector”. Według centrum pomocy Claude:
- wchodzimy w Customize > Connectors,
- klikamy „+ Add”, a potem „Add custom connector”,
- podajemy nazwę i adres URL zdalnego serwera MCP,
- sprawdzamy ustawienia logowania i klikamy „Add”.
Konektory działają we wszystkich planach, ale na darmowym planie możemy dodać tylko jeden własny konektor. Uwaga: Claude łączy się z serwerem z chmury Anthropic, więc serwer musi być dostępny z internetu. Z konektorów korzystają potem też inne funkcje Claude, np. agent Claude Duet.
Na co zwrócić uwagę?
Po pierwsze, na to, komu ufamy. Serwer MCP daje modelowi realne możliwości działania, a dokumentacja Claude Code ostrzega wprost, że serwery pobierające treści z zewnątrz narażają nas na prompt injection. Centrum pomocy dodaje, że złośliwe serwery mogą zawierać ukryte instrukcje, które próbują nakłonić Claude’a do niezamierzonych działań. Podłączajmy tylko serwery od firm i autorów, którym ufamy.
Po drugie, na uprawnienia. Opcję „Allow always” klikajmy tylko dla narzędzi, którym ufamy na tyle, by działały bez nadzoru. Dobra wiadomość: sklonowane repozytorium nie może samo zatwierdzić swoich serwerów z .mcp.json, Claude Code najpierw pyta o zgodę.
Po trzecie, na zakres dostępu. Serwerowi plików dajmy tylko konkretny katalog, a nie cały dysk. Więcej o zabezpieczaniu kluczy i agentów pisałem w poradniku Bezpieczeństwo agentów AI.
FAQ
Co to jest MCP w prostych słowach?
To wspólny standard, przez który aplikacje AI łączą się z narzędziami i danymi. Serwer MCP napisany raz działa w wielu aplikacjach, podobnie jak urządzenie z USB-C działa z wieloma komputerami.
Czy MCP działa tylko z Claude?
Nie. Protokół stworzył Anthropic, ale dziś rozwija go Agentic AI Foundation w ramach Linux Foundation, a obsługują go m.in. ChatGPT, Visual Studio Code i Cursor.
Czym różni się serwer MCP lokalny od zdalnego?
Lokalny działa na naszym komputerze i komunikuje się przez stdio, zwykle z jedną aplikacją. Zdalny działa w internecie (Streamable HTTP) i zwykle obsługuje wielu klientów naraz, a do logowania specyfikacja zaleca OAuth.
Czy MCP jest darmowy?
Sam protokół jest otwarty i darmowy. Płacimy za aplikację AI, z której korzystamy, i ewentualnie za usługę, do której serwer się łączy.