MCP
Model Context Protocol (MCP)
Model Context Protocol (w skrócie: MCP) – protokół 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).
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.
Dodatkowo można wyróżnić komponent pomocniczy:
- Client MCP – część działająca po stronie hosta, ułatwiająca interakcję z 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.