MCP
Model Context Protocol (MCP)
Model Context Protocol (w skrócie: MCP) to tak zwany protokół, czyli metoda komunikacji miedzy różnymi serwisami z krtórych (i to kluczowe) przynajmniej część jest inteligentna (w sensie zawiera w sobie model językowy).
Dlaczego to taki przełom
Potrzeba matka wynalazków, ale wynalazki są matka potrzeb. Nie byłoby sztucznej inteligencji bez komputera. Nie byłoby komputera bez elektryczności, nie byłoby elektryczności bez metali, nie byłoby metali bez pieców hutniczych, nie byłoby pieców bez ognia. Wynalazki tworzą ciągi łańcuchy (ogień -> metal -> prąd -> komputer -> AI). Jeden wynalazek pozwala nam na stworzenie czegoś kolejnego, a to coś kolejne pozwala nam na stworzenie jeszcze czegoś. Doszliśmy do etapu w którym komputer rozmawia z nami "po naszemu" - naszym naturalnym jezykiem. Potrafi nie tylko rozmawiać, ale rozumować, analizowac i wyciągać wnioski. Kolejny wynalazek (jak wszystkie poprzednie) musi spełniać 2 kluczowe warunki:
- musi byc mozliwy do stworzenia w oparciu o to, co juz wymyśliliśmy
- musi być potrzebny i przydatny
Takim wynalazkiem jest właśnie MCP. Protokół, który nie byłby u użyteczny gdybyśmy nie dysponowali modealmi jezykowymi. MCP juz działa, więc punkt nr. 1 możemy odchaczyć. Pozostaje pytanie - czy to coś jest potrzebne i przydatne.
A na co to potrzebne
Człowiek to takie dziwne zwierzę. Tak leniwe, że wkłada dużo pracy by coś zautomatyzować. Lubymi wygode i automatyzację. Nikt juz nie pisze listów odręcznie i nie biega z wydrukowanymi mapami gdy chce gdzies dotrzeć. Wydaje się, że system który automatyzuje nasze życie, my jako ludzkość uważamy a potrzebny i przydatny. Taka jest własnie rola MCP - wykorzystać AI do pełnego zautomatyzowania naszych potrzeb i zachcianek. Jako ludzkość dązymy do tego, by naszym naturalnym językiem wyrazić naszą zachciankę, a system ją po prostu spełni. Dązymy do tego nie dlatego, że jest to łatwe, ale dlatego, że jesteśmy leniwi.
Dlaczego akurat MCP
Pomysłów na postępująca automatyzację jest całkiem sporo. ...
komunikacyjny służący do wymiany danych między Modelem AI (LLM) a zewnętrznymi serwerami, które nadają Modelowi sprawczości. Dzięki MCP Model sztucznej inteligencji może wykonywać działania na zewnątrz (np. wysłać e-mail, pobrać prognozę pogody, zakupić bilet lotniczy).
Dynamiczne rozszerzanie sprawczości AI
Założmy, że nasz agent AI nie posiada zdolności kupowania biletów lotniczych. Jeśli ktoś gdzies stworzy serwer MCP, który np. umie kupowac bilety lotnicze, to wystarczy jedynie powiadomić naszego asystenta AI że taki serwer istnieje, a on sam zrobi autonomicznie wszystko co konieczne by dowiedziec się jak z niego korzystac. Dzięki temu powstaja tysiące serwerów i nie wymagają ręcznej integracji z modelami językowymi. AI jest w stanie zintegrować się z tymi serwerami sama. Docelowo nie będzie konieczne nawet dodawanie samych serwerów MCP, ponieważ pojawiają sie juz Huby MCP, które wyszukują serwery MCP za nas.
Trzy podstawowe składniki systemu
System opiera się na trzech głównych komponentach:
- Model – językowy model AI (np. LLaMA, GPT-4, Claude), który na podstawie tekstu wejściowego (prompt) generuje odpowiedź.
- Server MCP – serwer realizujący konkretne zadania na zlecenie Modelu, np. pobieranie prognozy pogody lub przygotowywanie materiałów do nauki języka.
- Host – aplikacja (np. ChatGPT, Cursor) zapewniająca interfejs użytkownika oraz pośrednicząca między Modelem a serwerami MCP.
Podstawowy opis działania na przykładzie
- Użytkownik wpisuje w oknie czatu pytanie: „Jaka temperatura będzie jutro o 18:00 w Krakowie?”.
- Host (czyli aplikacja AI, z której korzysta użytkownik) dołącza do tego pytania Context, czyli dodatkowe informacje, bez których Model nie byłby w stanie odpowiedzieć. W szczególności musi to być informacja o tym, jak pobrać datę lub czas, oraz jak sprawdzić pogodę.
- Model otrzymuje pytanie wraz z kontekstem.
- Model analizuje kontekst i znajduje informację, że może pobrać datę poprzez funkcję ServerDat.getCurrentDate("timezone"), a następnie użyć tej daty w funkcji SerwerPogody.getWeather(date).
- Model decyduje się najpierw pobrać aktualną datę. Wie, że Kraków znajduje się w strefie czasowej Europe/Warsaw. Zamiast odpowiadać użytkownikowi, generuje polecenie:
WYWOŁAJ FUNKCJĘ: ServerDat.getCurrentDate("Europe/Warsaw")
- Host rozpoznaje, że to nie jest odpowiedź dla użytkownika, lecz żądanie danych – i wysyła zapytanie do Server MCP.
- Server MCP odpowiada tekstem np. `2025-07-01 16:12`.
- Host przesyła tę informację do Modelu.
- Model, mając już aktualną datę, wylicza datę „jutro o 18:00” i generuje nowe polecenie:
WYWOŁAJ FUNKCJĘ: SerwerPogody.getWeather("2025-07-02 18:00")
- Host ponownie rozpoznaje intencję i przekazuje zapytanie do Server MCP.
- Server MCP odsyła dane (np. temperatura, szansa opadów, siła wiatru).
- Model interpretuje te dane i tworzy odpowiedź: „Jutro w Krakowie o 18:00 będzie 27 stopni Celsjusza”.
- Host przekazuje gotową odpowiedź użytkownikowi w interfejsie czatu.