MCP

Z MCP Wiki

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). Jednoczesnie sprawczość agenta AI bardzo łatwo rozszerzyć jedynie poprzez dodawanie kolejnych serwerów MCP. Nie wymaga to żadnych prac programistycznych po stronie klienta (agenta Ai), zwanego tez Hostem.

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 MCPserwer 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

  1. Użytkownik wpisuje w oknie czatu pytanie: „Jaka temperatura będzie jutro o 18:00 w Krakowie?”.
  2. 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ę.
  3. Model otrzymuje pytanie wraz z kontekstem.
  4. 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).
  5. 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")
  1. Host rozpoznaje, że to nie jest odpowiedź dla użytkownika, lecz żądanie danych – i wysyła zapytanie do Server MCP.
  2. Server MCP odpowiada tekstem np. `2025-07-01 16:12`.
  3. Host przesyła tę informację do Modelu.
  4. 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")
  1. Host ponownie rozpoznaje intencję i przekazuje zapytanie do Server MCP.
  2. Server MCP odsyła dane (np. temperatura, szansa opadów, siła wiatru).
  3. Model interpretuje te dane i tworzy odpowiedź: „Jutro w Krakowie o 18:00 będzie 27 stopni Celsjusza”.
  4. Host przekazuje gotową odpowiedź użytkownikowi w interfejsie czatu.