Model Context Protocol

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
Poziom abstrakcji
ui.operationLevel
01

Host

Kontener 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.

modułowy
02

Client

Utrzymuje izolowane, stanowe połączenie 1:1 z jednym serwerem; obsługuje negocjację protokołu i wymianę możliwości; przekazuje komunikaty dwukierunkowo.

03

Server

Dostarcza 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.

modułowy
Local (stdio) serverRemote (HTTP/SSE) server
04

Primitives — server-side

Trzy typy możliwości eksponowanych przez serwery: Resources (dane kontekstowe), Prompts (szablony instrukcji), Tools (wykonywalne funkcje).

05

Primitives — client-side

Dwa typy możliwości eksponowanych przez klientów: Roots (dostęp do systemu plików) i Sampling (żądania uzupełnień LLM inicjowane przez serwer).

06

JSON-RPC 2.0 transport

Warstwa komunikacyjna protokołu; zapewnia format wiadomości i mechanizm wymiany żądań i odpowiedzi między klientem a serwerem.

modułowy
07

Capability negotiation

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

ui.parallelism

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.

Typ transportu

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

Aktywne prymitywy

Standardowe
  • Tools onlyServer exposes only executable tools, no resources or prompts
  • Resources + ToolsCommon configuration for data-access and action servers

Sampling (serwer → LLM)

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

Typowe pułapki

Podatność na wstrzykiwanie poleceń przez niezaufane serwery
KRYTYCZNY

Hosts must not automatically trust tool descriptions or resource content from servers. Implement sandboxing, allowlisting trusted servers, and require explicit user confirmation before tool invocation.

Brak weryfikacji tożsamości serwera we wczesnych wersjach protokołu
WYSOKI

Use spec version 2025-11-25 or later which introduced server identity. Implement additional authentication at the transport layer (e.g., OAuth 2.0 for HTTP transports).

Nadmierne zużycie okna kontekstowego przez deklaracje narzędzi
ŚREDNI

Limit the number of simultaneously connected servers and tools. Use lazy-loading patterns or selective tool exposure based on task context.

Sampling bez wyraźnej zgody użytkownika
WYSOKI

Require explicit user consent for every sampling request. The MCP specification mandates that users must explicitly approve sampling and control what prompts are sent.

2024

Pierwsze publiczne wydanie MCP

przełom
2025

Adopcja przez OpenAI i Google DeepMind

przełom
2025

Aktualizacja specyfikacji 2025-11-25

2025

Przekazanie protokołu do Agentic AI Foundation

przełom
Niezależny od sprzętuGŁÓWNY

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.