Robocikowo>ROBOCIKOWO
Narzędzia deweloperskie

MCP

2024AktywnyOpublikowany
Otwarty protokół standaryzujący komunikację między aplikacjami LLM a zewnętrznymi narzędziami i źródłami danych przez JSON-RPC 2.0.
Kluczowa innowacja
MCP ustandaryzował sposób, w jaki aplikacje AI łączą się z zewnętrznymi źródłami danych i narzędziami, zastępując podejście wymagające budowania dedykowanych integracji dla każdej pary model–narzędzie jednym, otwartym protokołem klient-host-serwer opartym na JSON-RPC 2.0.
Kategoria
Narzędzia deweloperskie
Poziom abstrakcji
Wzorzec
Poziom operacji
SystemŚrodowisko agentowe
Zastosowania
Integracja LLM z bazami danych i APIAgenci AI z ustandaryzowanym dostępem do narzędziIDE i środowiska programistyczne z AI (Cursor, Claude)Ekosystem pluginów dla asystentów AIAutomatyzacja workflow enterprise

Jak działa

MCP definiuje standard klient-serwer: serwery MCP eksponują narzędzia, zasoby i prompty przez ujednolicone API. Klienty MCP (np. aplikacje z LLM) komunikują się z serwerami przez ten protokół, uzyskując dostęp do narzędzi w spójny sposób.

Rozwiązany problem

Każda integracja narzędzia z modelem LLM wymagała oddzielnej implementacji, co tworzyło chaos fragmentacji. MCP standaryzuje protokół komunikacji między modelami a narzędziami/zasobami zewnętrznymi.

Komponenty

HostKontener i koordynator: tworzy instancje klientów, zarządza ich cyklem życia, egzekwuje polityki bezpieczeństwa i zgody użytkownika, koordynuje integrację z modelem językowym.

Oficjalna

ClientUtrzymuje izolowane, stanowe połączenie 1:1 z jednym serwerem; obsługuje negocjację protokołu i wymianę możliwości; przekazuje komunikaty dwukierunkowo.
ServerDostarcza wyspecjalizowany kontekst i możliwości przez trzy typy prymitywów: Resources, Prompts i Tools; może działać jako proces lokalny lub zdalna usługa.
Local (stdio) server
Remote (HTTP/SSE) server

Oficjalna

Primitives — server-sideTrzy typy możliwości eksponowanych przez serwery: Resources (dane kontekstowe), Prompts (szablony instrukcji), Tools (wykonywalne funkcje).
Primitives — client-sideDwa typy możliwości eksponowanych przez klientów: Roots (dostęp do systemu plików) i Sampling (żądania uzupełnień LLM inicjowane przez serwer).
JSON-RPC 2.0 transportWarstwa komunikacyjna protokołu; zapewnia format wiadomości i mechanizm wymiany żądań i odpowiedzi między klientem a serwerem.

Oficjalna

Capability negotiationMechanizm uzgadniania obsługiwanych możliwości na etapie inicjalizacji sesji; klient i serwer deklarują swoje możliwości przed wymianą komunikatów roboczych.

Implementacja

Pułapki implementacyjne
Podatność na wstrzykiwanie poleceń przez niezaufane serweryKrytyczna
Rozwiązanie:Hosty nie powinny automatycznie ufać opisom narzędzi ani zawartości zasobów pochodzących z serwerów. Należy wdrożyć sandboxing, allowlistę zaufanych serwerów oraz wymagać jawnego potwierdzenia użytkownika przed wywołaniem narzędzia.
Brak weryfikacji tożsamości serwera we wczesnych wersjach protokołuWysoka
Rozwiązanie:Stosować wersję specyfikacji 2025-11-25 lub nowszą, która wprowadza tożsamość serwera. Wdrożyć dodatkowe uwierzytelnianie na warstwie transportowej (np. OAuth 2.0 dla transportów HTTP).
Nadmierne zużycie okna kontekstowego przez deklaracje narzędziŚrednia
Rozwiązanie:Ogranicz liczbę jednocześnie podłączonych serwerów i narzędzi. Stosuj wzorce leniwego ładowania (lazy-loading) lub selektywne udostępnianie narzędzi zależnie od kontekstu zadania.
Sampling bez wyraźnej zgody użytkownikaWysoka
Rozwiązanie:Wymagaj jawnej zgody użytkownika na każde żądanie próbkowania. Specyfikacja MCP nakłada obowiązek wyraźnego zatwierdzania próbkowania przez użytkownika oraz kontroli nad wysyłanymi promptami.

Ewolucja

2024
Pierwsze publiczne wydanie MCP
Punkt przełomowy
2025
Adopcja przez OpenAI i Google DeepMind
Punkt przełomowy
2025
Aktualizacja specyfikacji 2025-11-25
2025
Przekazanie protokołu do Agentic AI Foundation
Punkt przełomowy

Hiperparametry (konfigurowalne osie)

Typ transportuWysoka

Protokół transportu komunikacji między klientem a serwerem. Pierwotna wersja MCP obsługiwała stdio (lokalny podproces); późniejsze wersje dodały HTTP z SSE dla serwerów zdalnych.

stdioLocal subprocess, communication via standard I/O
HTTP+SSERemote server, communication via HTTP with Server-Sent Events
Aktywne prymitywyWysoka

Które prymitywy po stronie serwera (Resources, Prompts, Tools) i po stronie klienta (Roots, Sampling, Elicitation) są włączone. Negocjacja możliwości (capability negotiation) na początku sesji określa, które z nich są aktywne.

Tools onlyServer exposes only executable tools, no resources or prompts
Resources + ToolsCommon configuration for data-access and action servers
Sampling (serwer → LLM)Średnia

Czy serwery mają pozwolenie na żądanie uzupełnień od LLM po stronie klienta. Wymaga jawnej zgody użytkownika oraz deklaracji obsługi próbkowania (sampling) przez klienta.

trueEnables agentic, recursive LLM behaviors initiated by the server
falseDefault conservative configuration; servers cannot trigger LLM calls

Równoległość

Poziom równoległości
W pełni równoległy

Każdy klient utrzymuje niezależną sesję z jednym serwerem; host może prowadzić wiele równoległych sesji klient-serwer jednocześnie bez wzajemnych zależności między nimi.

Zakres
Inferencja

Wymagania sprzętowe

Podstawowe

MCP jest protokołem komunikacyjnym i specyfikacją interfejsu; nie ma wymagań ani preferencji dotyczących konkretnego sprzętu. Działa na każdym środowisku zdolnym do uruchomienia procesu obsługującego JSON-RPC 2.0.