Modele językowe AI (LLM), takie jak Claude czy GPT-4, są niezwykle potężne w rozumowaniu i generowaniu tekstu — ale mają fundamentalne ograniczenie: są odizolowane od świata rzeczywistego. Nie wiedzą co wydarzyło się wczoraj, nie mają dostępu do Twojego systemu plików, bazy danych ani API firmy. Model Context Protocol (MCP) to otwarty standard stworzony przez Anthropic, który ma to zmienić.

ℹ️ MCP w jednym zdaniu: Model Context Protocol to standaryzowany protokół komunikacyjny, który pozwala modelom AI łączyć się z zewnętrznymi narzędziami, danymi i usługami — w sposób bezpieczny, ustandaryzowany i niezależny od dostawcy modelu.

Problem który rozwiązuje MCP

Przed MCP każdy dostawca AI tworzył własny, niekompatybilny sposób łączenia modelu z narzędziami. OpenAI miało function calling i plugins, Anthropic miało tool use, inne firmy miały własne podejścia. To powodowało:

  • Fragmentację ekosystemu — integracja napisana dla GPT nie działała z Claude
  • Problemy bezpieczeństwa — brak standardów uprawnień i sandboxingu
  • Duplikację pracy — każdy tworzył te same konektory od zera

MCP rozwiązuje to poprzez jeden, otwarty protokół — analogicznie do tego jak HTTP ustandaryzował komunikację webową, czy LSP (Language Server Protocol) ustandaryzował obsługę języków w edytorach kodu.

Architektura MCP: Host, Klient, Serwer

MCP definiuje trzy role w systemie:

1

Host (Gospodarz)

To aplikacja uruchamiająca model AI, która zarządza całym systemem. Przykłady: Claude Desktop, Claude Code, środowiska IDE z wtyczkami AI. Host inicjuje połączenia z serwerami MCP i kontroluje uprawnienia dostępu.

2

Klient MCP

Komponent wewnątrz hosta, który utrzymuje połączenie 1:1 z konkretnym serwerem MCP. Host może mieć wiele klientów MCP — po jednym na każdy podłączony serwer (np. klient filesystem + klient GitHub + klient bazy danych).

3

Serwer MCP

Lekki program (może być napisany w Node.js, Python lub innym języku), który eksponuje określone możliwości dla modelu AI. Serwer definiuje co udostępnia: pliki, dane z API, możliwość wykonania poleceń itp.

📷 Diagram architektury MCP: Host (Claude Desktop) ↔ Klienty MCP ↔ Serwery MCP (filesystem, GitHub, baza danych) z oznaczonymi transportami stdio/SSE

Typy zasobów w MCP

Serwer MCP może udostępniać trzy rodzaje zasobów:

  • Resources (Zasoby) — dane do odczytu: pliki, wpisy w bazie danych, odpowiedzi API. Model może prosić o odczyt zasobu, np. file:///home/user/config.json. Zasoby są statyczne lub dynamicznie generowane.
  • Tools (Narzędzia) — akcje do wykonania: uruchomienie komendy, zapis do pliku, wysłanie żądania HTTP. Narzędzia mają efekty uboczne i wymagają wyraźnej zgody użytkownika.
  • Prompts (Szablony promptów) — predefiniowane szablony kontekstu, które użytkownik może aktywować. Np. "analizuj ten kod pod kątem bezpieczeństwa" z gotowym kontekstem.

Transport: stdio vs SSE

MCP obsługuje dwa mechanizmy transportu:

# Transport stdio (dla serwerów lokalnych):
# Host uruchamia serwer jako podproces i komunikuje się przez stdin/stdout
# Przykład uruchomienia serwera filesystem:
npx -y @modelcontextprotocol/server-filesystem /home/user/projekty

# Transport SSE (Server-Sent Events) dla serwerów zdalnych:
# Serwer nasłuchuje na porcie HTTP i wysyła zdarzenia przez SSE
# Przydatne dla współdzielonych serwerów MCP w sieci
curl http://localhost:3000/sse

Przykłady zastosowań MCP

Gotowe serwery MCP (wg dokumentacji Anthropic i społeczności) obejmują m.in.:

  • Filesystem — odczyt/zapis plików lokalnych z kontrolą uprawnień katalogów
  • GitHub — zarządzanie repozytoriami, issues, pull requestami przez API GitHub
  • SQLite/PostgreSQL — zapytania do baz danych
  • Brave Search — przeszukiwanie internetu w czasie rzeczywistym
  • Puppeteer — automatyzacja przeglądarki (web scraping, testy E2E)

MCP vs Function Calling vs Plugins

Warto rozumieć różnice. Function calling (np. w OpenAI API) to mechanizm pozwalający modelowi "wywołać" funkcję zdefiniowaną przez programistę — ale definicja funkcji jest przekazywana w każdym zapytaniu, nie istnieje żaden standard ich publikacji ani odkrywania. ChatGPT Plugins (wycofane) były jednorazowym rozwiązaniem OpenAI. MCP natomiast definiuje protokół działający na poziomie niżej — niezależny od konkretnego modelu czy API, z mechanizmem odkrywania zasobów i standardem bezpieczeństwa. Według dokumentacji Anthropic, MCP ma być otwartym standardem całej branży, nie produktem jednej firmy.

# Porównanie podejść:
# Function Calling (OpenAI):
#   - definicja funkcji w każdym API call
#   - własny format JSON
#   - brak standardu uprawnień

# MCP:
#   - serwer rejestruje narzędzia raz przy połączeniu
#   - otwarty protokół JSON-RPC 2.0
#   - sandbox i uprawnienia wbudowane w protokół
#   - wielokrotnego użytku między różnymi modelami/hostami
📷 Schemat porównujący Function Calling vs MCP — przepływ danych i różnice architektoniczne
⚠️ Nota informacyjna: Treści mają charakter edukacyjny. Wszelkie działania podejmujesz na własną odpowiedzialność. Przed zmianami w środowisku produkcyjnym wykonaj kopię zapasową.