MCP: Różnice pomiędzy wersjami

Z MCP Wiki
Nie podano opisu zmian
Nie podano opisu zmian
Linia 1: Linia 1:
= Model Context Protocol (MCP) =
= Model Context Protocol (MCP) =


'''Model Context Protocol''' (w skrócie: '''MCP''') – [[protokół]] komunikacyjny służący do wymiany danych między [[Model|Modelem]] AI (LLM), a zewnętrznymi serwerami, które nadają modelowi sprawczosci. Dzięki MCP model sztucznej inteligencji może wykonac działania na zewnętrz (np. wysłać maila, pobrac prognoze pogody, zakupic bilet litniczy).  
'''Model Context Protocol''' (w skrócie: '''MCP''') – [[protokół]] komunikacyjny służący do wymiany danych między [[Model]]em AI (LLM) a zewnętrznymi [[Server MCP|serwerami]], które nadają [[Model]]owi [[sprawczość]]. 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).


== 3 podstawowe składniki systemu ==
== Trzy podstawowe składniki systemu ==
Mamy 3 podstawowe elementy systemu.
* [[Model]] jezykowy np. Llama, gpt4, cloude - na podstawie tekstu wejściowego (prompt) generuje tekst wyjsciowy (odpowiedź).
* [[Server MCP]] - realizuje konkretne zdania na zlecenie [[Model|Modelu]] np. pobiera prgonoze pogody lub przygotowuje materiały audio do nauki angielskiego.
* [[Host]] (np. Chat GPT, Cursor) - aplikacja zazwyczaj z interfejsem uzytkownika, która pozwala kontaktować się z [[Modelem]] oraz uruchamia polecenie dla serwerów MCP generowane przez Model.


Czasami opisuje się również [[Client MCP]]. To taki element działający po stronie Hosta, który pomaga mu w interkacjach miedzy serwerem MCP.
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]]''' – [[Server MCP|serwer]] realizujący konkretne zadania na zlecenie [[Model]]u, 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 [[Model]]em a [[Server MCP|serwerami MCP]].
 
Dodatkowo można wyróżnić komponent pomocniczy:
 
* '''[[Client MCP]]''' – część działająca po stronie hosta, ułatwiająca interakcję z [[Server MCP|serwerami MCP]].


== Podstawowy opis działania na przykładzie ==
== Podstawowy opis działania na przykładzie ==


# Użytkownik wpisuje w oknie chatu pytanie "Jaka temperatura będzie dzisiaj o 18 w krakowie".
# Użytkownik wpisuje w oknie czatu pytanie: „Jaka temperatura będzie jutro o 18:00 w Krakowie?”.
# Host (aplikacja AI z której korzysta) dołacza do tego pytania [[Context]], czyli dodatkowe informacje, bez których model nie byłby w stanie odpowiedzieć na pytanie. W szczególnosci musi byc to informacja dla modelu w jaki sposób mógłby pobrac pogodę na dany dzień, lub w jaki sposþób dowiedzieć się jaki w ogóle mamy obecnie dzień.
# [[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 [[Context|kontekstem]].
# [[Model]] otrzymuje pytanie wraz z [[Context|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 [[Model]]u.
# [[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.
 
[[Kategoria:Sztuczna inteligencja]]
[[Kategoria:Protokóły komunikacyjne]]
[[Kategoria:Architektura systemów]]

Wersja z 08:31, 1 lip 2025

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ść. 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 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.

Dodatkowo można wyróżnić komponent pomocniczy:

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.